在 C# 中读取 Decrypt
Des Decrypt read in C#
static byte[] desdecrypt(Mode mode, byte[] IV, byte[] key, byte[] msg)
{
using (var des = new DESCryptoServiceProvider())
{
des.IV = IV;
des.Key = key;
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
using (var mstream = new MemoryStream())
{
CryptoStream cs = null;
if (mode == Mode.DECRYPT)
{
cs = new CryptoStream(mstream, des.CreateDecryptor(), CryptoStreamMode.Read);
}
if (cs == null)
return null;
cs.Read(msg, 0, msg.Length);
return mstream.ToArray();
}
}
return null;
}
private void button2_Click(object sender, EventArgs e)
{
string a = textBox4.Text;
string ab = textBox6.Text;
byte[] IV = Encoding.ASCII.GetBytes(ab);
string aa = textBox7.Text;
byte[] key = Encoding.ASCII.GetBytes(aa);
byte[] decrypted = desdecrypt(Mode.DECRYPT, IV, key, Encoding.ASCII.GetBytes(a));
textBox5.Text = Encoding.ASCII.GetString(decrypted);
}
cs.Read(msg, 0, msg.Length) 这一行出现错误(错误数据)
我的应用程序中发生了未处理的异常
我不知道有什么帮助,我已经尝试了几乎所有方法
当您在底层流中有数据并想将其解密为数组时,请使用 CryptoStreamMode.Read
和 Read
。
由于您有一个正在收集数据的空流,因此您应该使用 CryptoStreamMode.Write
和 Write
。
标准注意事项适用:
- DES 是一个糟糕的、破烂的算法
- 不要使用 ASCII(或 Unicode)数据作为键
- 不要假设加密数据可以表示为 ASCII(或 Unicode)数据
- 除非你能解释清楚,否则切勿将密码术添加到已发布的软件中
- 它的作用
- 什么情况下会被视为过期
- 当它过时了你将如何成长它
- 当您这样做时,它如何不会破坏您的所有用户,或让他们不安全。
static byte[] desdecrypt(Mode mode, byte[] IV, byte[] key, byte[] msg)
{
using (var des = new DESCryptoServiceProvider())
{
des.IV = IV;
des.Key = key;
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
using (var mstream = new MemoryStream())
{
CryptoStream cs = null;
if (mode == Mode.DECRYPT)
{
cs = new CryptoStream(mstream, des.CreateDecryptor(), CryptoStreamMode.Read);
}
if (cs == null)
return null;
cs.Read(msg, 0, msg.Length);
return mstream.ToArray();
}
}
return null;
}
private void button2_Click(object sender, EventArgs e)
{
string a = textBox4.Text;
string ab = textBox6.Text;
byte[] IV = Encoding.ASCII.GetBytes(ab);
string aa = textBox7.Text;
byte[] key = Encoding.ASCII.GetBytes(aa);
byte[] decrypted = desdecrypt(Mode.DECRYPT, IV, key, Encoding.ASCII.GetBytes(a));
textBox5.Text = Encoding.ASCII.GetString(decrypted);
}
cs.Read(msg, 0, msg.Length) 这一行出现错误(错误数据) 我的应用程序中发生了未处理的异常 我不知道有什么帮助,我已经尝试了几乎所有方法
当您在底层流中有数据并想将其解密为数组时,请使用 CryptoStreamMode.Read
和 Read
。
由于您有一个正在收集数据的空流,因此您应该使用 CryptoStreamMode.Write
和 Write
。
标准注意事项适用:
- DES 是一个糟糕的、破烂的算法
- 不要使用 ASCII(或 Unicode)数据作为键
- 不要假设加密数据可以表示为 ASCII(或 Unicode)数据
- 除非你能解释清楚,否则切勿将密码术添加到已发布的软件中
- 它的作用
- 什么情况下会被视为过期
- 当它过时了你将如何成长它
- 当您这样做时,它如何不会破坏您的所有用户,或让他们不安全。