zoukankan      html  css  js  c++  java
  • Asp.Net C# AES加密、解密

    Asp.Net C#续上次的DES加密、解密之后,再发一个AES的加密、解密。AES要注意的是32位密匙。

    private static readonly String strAesKey = "iwww.maoblog.comiwww.maoblog.com";//加密所需32位密匙

    /// <summary>
    /// AES加密
    /// </summary>
    /// <param name="str">要加密字符串</param>
    /// <returns>返回加密后字符串</returns>
    public static String Encrypt_AES(String str)
    {
        Byte[] keyArray = System.Text.UTF8Encoding.UTF8.GetBytes(strAesKey);
        Byte[] toEncryptArray = System.Text.UTF8Encoding.UTF8.GetBytes(str);

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

        System.Security.Cryptography.ICryptoTransform cTransform = rDel.CreateEncryptor();
        Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

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

    /// <summary>
    /// AES解密
    /// </summary>
    /// <param name="str">要解密字符串</param>
    /// <returns>返回解密后字符串</returns>
    public static String Decrypt_AES(String str)
    {
        Byte[] keyArray = System.Text.UTF8Encoding.UTF8.GetBytes(strAesKey);
        Byte[] toEncryptArray = Convert.FromBase64String(str);

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

        System.Security.Cryptography.ICryptoTransform cTransform = rDel.CreateDecryptor();
        Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

        return System.Text.UTF8Encoding.UTF8.GetString(resultArray);
    }

  • 相关阅读:
    windows10+vs2010+lwip+Wireshark+winpcap环境变量配置
    Anaconda中安装了Libtiff模块,但运行程序显示ModuleNotFoundError: No module named 'libtiff'
    利用Anaconda软件安装opencv模块
    Windows10+Anaconda+PyTorch(cpu版本)环境搭建
    Spyder中报错: Check failed: PyBfloat16_Type.tp_base != nullptr
    Keras中图像维度介绍
    机器学习2-7
    LeetCode637. 二叉树的层平均值
    LeetCode617. 合并二叉树
    LeetCode590. N叉树的后序遍历
  • 原文地址:https://www.cnblogs.com/kiwifruit/p/1863141.html
Copyright © 2011-2022 走看看