zoukankan      html  css  js  c++  java
  • C#实现AES加密和解密函数原代码

    AES简介

    AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。

    AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据 的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。Figure 1 显示了 AES 用192位密钥对一个16位字节数据块进行加密和解密的情形。

    AES加密函数
    public static string Encrypt(string toEncrypt) {
        
    byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
        
    byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

        RijndaelManaged rDel 
    = new RijndaelManaged();
        rDel.Key 
    = keyArray;
        rDel.Mode 
    = CipherMode.ECB;
        rDel.Padding 
    = PaddingMode.PKCS7;

        ICryptoTransform cTransform 
    = rDel.CreateEncryptor();
        
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

        
    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    }

    AES解密函数
    public static string Decrypt(string toDecrypt) {
        
    byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
        
    byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

        RijndaelManaged rDel 
    = new RijndaelManaged();
        rDel.Key 
    = keyArray;
        rDel.Mode 
    = CipherMode.ECB;
        rDel.Padding 
    = PaddingMode.PKCS7;

        ICryptoTransform cTransform 
    = rDel.CreateDecryptor();
        
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

        
    return UTF8Encoding.UTF8.GetString(resultArray);
    }

    转自http://www.overset.com/2008/04/17/simple-aes-rijndael-c-encrypt-decrypt-functions/

  • 相关阅读:
    从头认识java-2.6 逗号操作符
    JavaScript基础知识
    特性选择器
    文本缩进
    如何使图片与导航栏对齐
    如何使用CSS选择器应用于子元素
    图像
    布局
    列表,表格和表单
    盒子
  • 原文地址:https://www.cnblogs.com/jameshappy/p/2031855.html
Copyright © 2011-2022 走看看