C# 使用MD5等哈希算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinhangdev/article/details/79361980

C# 使用MD5等哈希算法

问题描述

在对密码等敏感信息进行网络传输和保存时,往往不直接保存其原本值,而是在服务器端数据库存储其哈希值,比较常用的有如MD5,SHA1等等。而客户端则需要将用于输入的明文密码转换为MD5(或其他哈希算法)哈希值后再传输给服务器。

解决方法

客户端对MD5加密的程序如下:
1.首先引用命名空间System.Security.Cryptography

using System.Security.Cryptography;

2.为了方便使用,编写一个GetMD5方法,用来返回一个字符串,即为给定字符串的MD5哈希值:

/// <summary>
/// 返回给予字符串的32字节大写MD5字符串
/// </summary>
/// <param name="str">待计算MD5值的字符串</param>
private string GetMD5(string str)
{
    byte[] sourcebytes = Encoding.Default.GetBytes(str);
    MD5 md5 = new MD5CryptoServiceProvider();
    byte[] hashedbytes = md5.ComputeHash(sourcebytes);
    return BitConverter.ToString(hashedbytes).Replace("-", "");
}

3.调用方法如下:

private void btnLogin_Click(object sender, EventArgs e)
{
    // 计算输入密码的MD5
    string ConvertedPswd = GetMD5(txtToken.Text);
    // TODO: 将MD5值发送到服务器,并得到验证结果等
    // 
}

猜你喜欢

转载自blog.csdn.net/jinhangdev/article/details/79361980