c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码
在c#中实现常用的加密算法可以使用System.Security.Cryptography命名空间。
MD5哈希算法
以下是使用MD5哈希算法的c#代码示例:
using System.Security.Cryptography;
using System.Text;
public string GetMd5(string input)
{
using (MD5 md5Hash = MD5.Create())
{
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
}
在这个示例中,我们创建了一个MD5哈希对象,然后将输入字符串转换为字节数组,使用ComputeHash方法将输入转换为哈希值,最后将哈希值转换为16进制字符串返回。
SHA1哈希算法
以下是使用SHA1哈希算法的c#代码示例:
using System.Security.Cryptography;
using System.Text;
public string GetSha1(string input)
{
using (SHA1 sha1Hash = SHA1.Create())
{
byte[] data = sha1Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
}
如您所见,与MD5哈希算法类似,使用SHA1哈希算法的过程相似,唯一的不同之处是我们创建了SHA1哈希对象。
SHA256和SHA512哈希算法
使用SHA256和SHA512哈希算法的过程与SHA1和MD5哈希算法相似,唯一的不同之处是我们创建了SHA256或SHA512哈希对象。
以下是使用SHA256哈希算法的c#代码示例:
using System.Security.Cryptography;
using System.Text;
public string GetSha256(string input)
{
using (SHA256 sha256Hash = SHA256.Create())
{
byte[] data = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
}
以下是使用SHA512哈希算法的c#代码示例:
using System.Security.Cryptography;
using System.Text;
public string GetSha512(string input)
{
using (SHA512 sha512Hash = SHA512.Create())
{
byte[] data = sha512Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
}
总结
在这篇文档中,我们讲解了如何在c#中实现MD5、SHA1、SHA256和SHA512哈希算法。这些算法是我们在开发中常用的加密算法,可以用于密码存储、数据完整性验证和消息认证等方面。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码 - Python技术站