DES加密问题
好大一地嗯 2009-07-13 01:31:14 有一个文件,串被加密了,用以下代码解密:
现在我有下面的代码:
Stream stream = new FileStream("***.lic", FileMode.Open, FileAccess.Read, FileShare.Read);
Stream write = new StreamWriter(stream);
BinaryReader reader = new BinaryReader(stream);
BinaryWriter binaryWriter = new BinaryWriter(write);
this.textBox1.AppendText(Convert.ToString(reader.ReadDouble()));
reader.ReadBytes(0x7b);
int count = reader.ReadInt32();
byte[] buffer = reader.ReadBytes(count);
MemoryStream stream2 = new MemoryStream(buffer);
ICryptoTransform transform = new DESCryptoServiceProvider { Key = staticbytee(), IV = staticbytee() }.CreateDecryptor();
Stream stream3 = new CryptoStream(stream2, transform, CryptoStreamMode.Read);
this.textBox1.AppendText(new StreamReader(stream3, Encoding.UTF8).ReadToEnd());
reader.ReadBytes(0xea);
int num3 = reader.ReadInt32();
byte[] buffer2 = reader.ReadBytes(num3);
stream2 = new MemoryStream(buffer);
stream3 = new CryptoStream(stream2, transform, CryptoStreamMode.Read);
this.textBox1.AppendText(new StreamReader(stream3, Encoding.UTF8).ReadToEnd());
密钥:
staticbytee:
private static byte[] staticbytee()
{
byte[] staticb = new byte[] { 70, 0x35, 50, 0x42, 0x31, 0x38, 0x36, 70 };
return (byte[])staticb.Clone();
}
我怎样能在解密后修改了串再加密回去?
付说明:现在我加密得到的是120位,上面代码第一次读到是136位,第二次是128位,解密后的串是127位