回 帖 发 新 帖 刷新版面

主题:关于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为什么加密和解密的代码是一样的?

回复列表 (共2个回复)

沙发

MyDESIV是加密用的向量数组,可以是8,16,32.......位

板凳


到这个网站看有人的算法没有
算法源码吧  [url=http://www.sfcode.cn/]http://www.sfcode.cn/[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册