加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[C#]加密解密 MD5、AES

发布时间:2020-12-15 22:40:52 所属栏目:百科 来源:网络整理
导读:/// summary /// MD5函数 /// /summary /// param name="str" 原始字符串 /param /// returns MD5结果 /returns public static string MD5( string str){ byte [] b = Encoding.UTF8.GetBytes(str); b = new MD5CryptoServiceProvider().ComputeHash(b); str
/// <summary>
/// MD5函数
/// </summary>
/// <param name="str">原始字符串</param>
/// <returns>MD5结果</returns>
public static string MD5(string str)
{
    byte[] b = Encoding.UTF8.GetBytes(str);
    b = new MD5CryptoServiceProvider().ComputeHash(b);
    string ret = string.Empty;
    for (int i = 0; i < b.Length; i++)
    {
        ret += b[i].ToString("x").PadLeft(2,0);
    }
    return ret;
}

/// <summary>
/// AES加密
/// </summary>
/// <param name="toEncrypt"></param>
/// <returns></returns>
public static string AesEncrypt(string toEncrypt)
{
    if (string.IsNullOrEmpty(toEncrypt))
    {
        return string.Empty;
    }
    try
    {
        byte[] keyArray = Encoding.UTF8.GetBytes(@"7BF45189A0ED4BD6BE7936EFD11169E7");

        byte[] toEncryptArray = Encoding.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,resultArray.Length);
    }
    catch
    {
        return string.Empty;
    }
}

/// <summary>
/// AES解密
/// </summary>
/// <param name="toDecrypt"></param>
/// <returns></returns>
public static string AesDecrypt(string toDecrypt)
{
    if (string.IsNullOrEmpty(toDecrypt))
    {
        return string.Empty;
    }
    try
    {

        byte[] keyArray = Encoding.UTF8.GetBytes(@"7BF45189A0ED4BD6BE7936EFD11169E7");

        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,toEncryptArray.Length);

        return UTF8Encoding.UTF8.GetString(resultArray);
    }
    catch
    {
        return string.Empty;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读