Beispiel #1
0
        //文件加密
        public int EncryptionFile(string filePath, string DesFilePath)
        {
            cryTool tool = new cryTool(symmetry);

            tool.SetKey(k2);
            tool.SetIV(k3);
            tool.EncryFileNoIV(filePath, DesFilePath);
            return(0);
        }
Beispiel #2
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);
        }