私は16進数のキーと16進1C19D5ED8D88DC40
数のデータを持っています041164DFFFFE7FF7
。
DES 暗号化を行って、暗号化された値を 16 進数で取得することになっていB652FF1BA23C279B
ます。私は DES の考えられるすべての暗号化方法にかなり苦労しましたが、正確な値を得ることができませんでした。このリンクで見つけた上記の16進数のバイナリ値を入力として渡し、必要なものを取得しました。
上記の値を取得するには、C# コードを使用してください。
public static string Encrypt(string Data,string Key)
{
byte[] key = Encoding.ASCII.GetBytes(Key);
// byte[] iv = Encoding.ASCII.GetBytes("password");
byte[] data = Encoding.ASCII.GetBytes(Data);
byte[] enc = new byte[0];
TripleDES tdes = TripleDES.Create();
//tdes.IV = iv;
tdes.Key = key;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.Zeros;
ICryptoTransform ict = tdes.CreateEncryptor();
enc = ict.TransformFinalBlock(data, 0, data.Length);
return Bin2Hex(enc);
}
// my bin2hex implementation
static string Bin2Hex(byte[] bin)
{
StringBuilder sb = new StringBuilder(bin.Length * 2);
foreach (byte b in bin)
{
sb.Append(b.ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}