主题:关于DES算法的问题
我看了一个用DES算法加密文件的程序例子有几个问题不明白,特此请教
byte[] MyDESIV={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,0x08};
byte[] MyDESKey={};
第1那个MyDESIV变量里的0x01这样的东西有什么特殊作用,这个变量必须是8个位的数组吗?(我之前将其改为6位,不能调试)
第2 MyDESIV有什么用?
DES MyDES=new DESCryptoServiceProvider();
[color=00FF00]//加密文件[/color]
CryptoStream EncryptStream = new CryptoStream(MyOutFileStream, MyDES.CreateEncryptor(MyDESKey, MyDESIV), CryptoStreamMode.Write);
while(CompletedLenght<InFileSize)
{
int Lenght=MyInFileStream.Read(InsertData,0,100);
EncryptStream.Write(InsertData,0,Lenght);
CompletedLenght=CompletedLenght+Lenght;}
EncryptStream.Close();
MyOutFileStream.Close();
MyInFileStream.Close();
MessageBox.Show("文件以加密成功!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
第3MyDESKey, MyDESIV这两个变量的具体用处?
//创建解密流
CryptoStream DecryptStream = new CryptoStream(MyOutFileStream, MyDES.CreateDecryptor(MyDESKey,MyDESIV), CryptoStreamMode.Write);
第4为什么加密和解密的代码是一样的?
byte[] MyDESIV={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,0x08};
byte[] MyDESKey={};
第1那个MyDESIV变量里的0x01这样的东西有什么特殊作用,这个变量必须是8个位的数组吗?(我之前将其改为6位,不能调试)
第2 MyDESIV有什么用?
DES MyDES=new DESCryptoServiceProvider();
[color=00FF00]//加密文件[/color]
CryptoStream EncryptStream = new CryptoStream(MyOutFileStream, MyDES.CreateEncryptor(MyDESKey, MyDESIV), CryptoStreamMode.Write);
while(CompletedLenght<InFileSize)
{
int Lenght=MyInFileStream.Read(InsertData,0,100);
EncryptStream.Write(InsertData,0,Lenght);
CompletedLenght=CompletedLenght+Lenght;}
EncryptStream.Close();
MyOutFileStream.Close();
MyInFileStream.Close();
MessageBox.Show("文件以加密成功!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
第3MyDESKey, MyDESIV这两个变量的具体用处?
//创建解密流
CryptoStream DecryptStream = new CryptoStream(MyOutFileStream, MyDES.CreateDecryptor(MyDESKey,MyDESIV), CryptoStreamMode.Write);
第4为什么加密和解密的代码是一样的?