在玩3DES加密和解密时,我使用了这个相当简单和标准的代码.但是,每次运行此函数时,我都会得到不同的decryptionData
值作为输出.
有人能告诉我出了什么问题吗?
private void TripleDESDecryption()
{
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Key = new byte[] { 0x26, 0x01, 0x54, 0xd0, 0xdc, 0x92, 0xf3, 0x4b, 0xbf, 0x9b, 0xfa, 0x9d, 0x43, 0x24, 0x4b, 0xa4, 0x35, 0x50, 0xde, 0x00, 0x5e, 0x75, 0xc7, 0xed };
des.KeySize = 192;
des.Mode = CipherMode.ECB;
des.Padding = PaddingMode.None;
ICryptoTransform ic = des.CreateDecryptor();
var encryptedData = new byte[] { 0x35, 0x66, 0x45, 0xC4, 0xBD, 0xE9, 0x5F, 0x30 };
byte[] decryptedData = ic.TransformFinalBlock(encryptedData, 0, 8);
Console.WriteLine(BitConverter.ToString(decryptedData));
}
PS:这些只是随机的密钥和数据,不是敏感的东西.