//文件加密 public int EncryptionFile(string filePath, string DesFilePath) { cryTool tool = new cryTool(symmetry); tool.SetKey(k2); tool.SetIV(k3); tool.EncryFileNoIV(filePath, DesFilePath); return(0); }
//密钥生成 public int GenKey(KeySize size) { int keySize = 0; switch (size) { case KeySize.size_128: keySize = 128; symmetry = cryTool.Cry_KeySize.Key_128; break; case KeySize.size_192: keySize = 192; symmetry = cryTool.Cry_KeySize.Key_192; break; case KeySize.size_256: keySize = 256; symmetry = cryTool.Cry_KeySize.Key_256; break; default: keySize = 128; symmetry = cryTool.Cry_KeySize.Key_128; break; } k1 = new byte[keySize / 8]; //生成k1密钥 using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider()) { rng.GetBytes(k1); } //生成K2密钥 cryTool tool = new cryTool(symmetry); k2 = tool.GenerateKey(); k3 = tool.GenerateIV(); //初始化 history = new List <string>(); rw = new Dictionary <string, List <string> >(); rf = new Dictionary <string, List <string> >(); return(0); }