gpt4 book ai didi

c# - C#中的DES加密

转载 作者:行者123 更新时间:2023-11-30 13:53:14 25 4
gpt4 key购买 nike

采用以下代码:

DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
ICryptoTransform encryptor = des.CreateEncryptor();
// encrypt
byte[] x = UTF8Encoding.UTF8.GetBytes("thisIsATEST");
byte[] enc = encryptor.TransformFinalBlock(x, 0, x.Length);
string savedValue = Convert.ToBase64String(enc);



DESCryptoServiceProvider des1 = new DESCryptoServiceProvider();
des1.Key = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
ICryptoTransform decryptor = des1.CreateDecryptor();
byte[] y = Convert.FromBase64String(savedValue);
// decrypt
byte[] originalAgain = decryptor.TransformFinalBlock(y, 0, y.Length);
System.Text.ASCIIEncoding e = new System.Text.ASCIIEncoding();
string str = e.GetString(originalAgain);

现在这对解密不起作用,但是如果 des1.CreateDecryptor(); 更改为 des.CreateDecryptor(); 它工作正常,我不确定为什么如果我使用完全相同的 key 。

它没有抛出异常,它只是没有正确转换字符串。

最佳答案

除非您使用类似 ECB 模式的东西,否则解密器需要加密器使用的初始化向量。

关于c# - C#中的DES加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/753719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com