我想用AES加密指定的单一文件,应该怎么写代码啊?

解决方案 »

  1.   


    public bool EncryptFile(string filePath,string savePath,string keyStr) 

    DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
    if(keyStr=="") 
    keyStr=key; 
    FileStream fs=File.OpenRead(filePath); 
    byte[] inputByteArray =new byte[fs.Length]; 
    fs.Read(inputByteArray,0,(int)fs.Length); 
    fs.Close(); 
    byte[] keyByteArray=Encoding.Default.GetBytes(keyStr); 
    SHA1 ha=new SHA1Managed(); 
    byte[] hb=ha.ComputeHash(keyByteArray); 
    sKey=new byte[8]; 
    sIV=new byte[8]; 
    for(int i=0;i<8;i++) 
    sKey[i]=hb[i]; 
    for(int i=8;i<16;i++) 
    sIV[i-8]=hb[i]; 
    des.Key=sKey; 
    des.IV=sIV; 
    MemoryStream ms = new MemoryStream(); 
    CryptoStream cs = new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write); 
    cs.Write(inputByteArray, 0, inputByteArray.Length); 
    cs.FlushFinalBlock(); 
    fs=File.OpenWrite(savePath); 
    foreach(byte b in ms.ToArray()) 

    fs.WriteByte(b); 


           

    fs.Close(); 
    cs.Close(); 
    ms.Close(); 
    return true; 
    }
      

  2.   


    private string key = "123456"; //默认密钥 
    private byte[] sIV; 
    private byte[] sKey;