MD5加密和编码

//第一种方式  
private string GetMD5(string str)   
{   
  MD5 md5 = MD5.Create();   
  byte[] data = md5.ComputeHash(Encoding.Default.GetBytes(str));  
  StringBuilder sb = new StringBuilder();  
  for (int i = 0; i < data.Length; i++)  
  {  
    sb.Append(data[i].ToString("x2").ToUpper());  
  }  
  return sb.ToString();  
}   

//第二种方式
 /// <summary>
    /// MD5加密
    /// </summary>
    /// <param name="str">需加密的字符串</param>
    /// <returns>加密后的字符</returns>
    public static string Md5Encryption(string str)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] data = System.Text.Encoding.Unicode.GetBytes(str);
        byte[] todata = md5.ComputeHash(data);
        string bytestr = null;
        for (int i = 0; i < todata.Length; i++)
        {
            bytestr += todata[i].ToString("x");
        }
        return bytestr;
    }


    /// <summary>
    /// 加密
    /// </summary>
    /// <param name="str">需加密的字符串</param>
    /// <returns>加密后的字符</returns>
    public static string MD5ToBase64String(string str)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] MD5 = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str));//MD5(注意UTF8编码)
        string result = Convert.ToBase64String(MD5, 0, MD5.Length);//Base64
        return result;
    }
    ///   <summary>
    ///   给一个字符串进行MD5加密
    ///   </summary>
    ///   <param   name="strText">待加密字符串</param>
    ///   <returns>加密后的数组</returns>
    public static byte[] MD5EncryptEX(string strText)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] result = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strText));
        return result;
    }
    /// <summary>
    /// Base64 编码
    /// </summary>
    /// <param name="bytedata">待编码数组</param>
    /// <returns>编码后字符串</returns>
    public static string ToBase64String(byte[] bytedata)
    {
        string strPath = Convert.ToBase64String(bytedata, 0, bytedata.Length);
        return strPath;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MD5是一种不可逆的加密算法,即无法通过密文还原出原始的明文。MD5算法通过将输入的明文进行压缩计算,输出一个固定长度为16字节的密文。在Python中,可以使用hashlib库中的md5函数进行MD5加密的实现。以下是一个简单的Python代码示例: ``` from hashlib import md5 def encrypt_md5(s): # 创建md5对象 new_md5 = md5() # 对字符串进行编码并进行加密 new_md5.update(s.encode(encoding='utf-8')) # 返回加密后的密文 return new_md5.hexdigest() if __name__ == '__main__': # 调用示例函数进行加密 encrypted_text = encrypt_md5('000000') print(encrypted_text) ``` 以上代码中,首先导入了hashlib库中的md5函数。然后定义了一个名为encrypt_md5的函数,该函数接收一个字符串作为输入,并使用encode()函数对字符串进行编码后再进行加密。最后,使用hexdigest()函数获取加密后的密文,并将其打印输出。通过调用encrypt_md5函数并传入明文字符串作为参数,即可得到相应的MD5密文。需要注意的是,由于MD5算法是不可逆的,无法直接进行解密。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MD5 算法的加密、撞库破解及Python实现和操作演示](https://blog.csdn.net/qq_40506723/article/details/124189145)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值