做设计素材网站,常州做网站公司有哪些,网站开发手机销售网站用例图,江苏seo策略目录
一、涉及到的知识点
1.MD5
2.使用基类的 Create 方法来创建 MD5 对象
3.对每个字节进行加密并将其转换为十六进制字符串
4.ComputeHash(Byte[])
二、使用MD5算法对密码进行加密 一、涉及到的知识点
1.MD5 MD5(Message Digest Algorithm 5)是一种被广泛使用的“消息…目录
一、涉及到的知识点
1.MD5
2.使用基类的 Create 方法来创建 MD5 对象
3.对每个字节进行加密并将其转换为十六进制字符串
4.ComputeHash(Byte[])
二、使用MD5算法对密码进行加密 一、涉及到的知识点
1.MD5 MD5(Message Digest Algorithm 5)是一种被广泛使用的“消息-摘要算法”。“消息-摘要算法”实际上就是一个单项散列函数数据块经过单向散列函数得到一个固定长度的散列值数据块的签名就是计算数据块的散列值MD5算法的散列值为128位。
2.使用基类的 Create 方法来创建 MD5 对象 应该使用其基类的 Create 方法来创建 MD5 对象。如果还是用MD5CryptoServiceProvider 类那么将会得到警告SYSLIB0021。 使用 MD5.Create() 方法来创建 MD5 对象更加简洁易读。这种方法也适用于其他过时的加密类如 SHA1CryptoServiceProvider、SHA256CryptoServiceProvider 等。通过使用基类的 Create() 方法代码将更加简洁、易读且符合最佳实践。
using System.Security.Cryptography;// ...MD5 md5 MD5.Create();
3.对每个字节进行加密并将其转换为十六进制字符串
str md5data[i].ToString(x).PadLeft(2, 0);//对遍历到的字节进行加密 具体来说这段代码执行以下操作
使用 for 循环遍历字节数组 md5data 中的每个字节。将当前字节转换为十六进制字符串使用 “x” 格式说明符表示。例如字节值 0x1A 将转换为字符串 “1a”。使用 PadLeft 方法将转换后的十六进制字符串左对齐确保其长度为 2。如果字符串长度小于 2将用字符 ‘0’ 在左侧填充。例如字符串 “1a” 将被转换为 “01a”。将处理后的十六进制字符串追加到字符串变量 str 中。通过这些操作原始字节数据将被转换为一个包含十六进制字符的字符串。这是 MD5 加密过程的一部分最终将生成一个 32 个字符的 MD5 哈希值。
4.ComputeHash(Byte[]) 计算指定字节数组的哈希值。
public byte[] ComputeHash (byte[] buffer);参数
buffer Byte[]
要计算其哈希代码的输入。返回
Byte[]
计算所得的哈希代码。例外
ArgumentNullException
buffer 为 null。ObjectDisposedException
对象已被释放。
二、使用MD5算法对密码进行加密
// 使用MD5算法对密码进行加密
using System.Security.Cryptography;
namespace _155
{class Program{/// summary/// 对遍历到的字节进行加密/// /summary/// param namestrPwd输入的待加密的字符串/param/// returns namestr返回加密后的值/returnspublic static string Encrypt(string strPwd){MD5 md5 MD5.Create();byte[] data System.Text.Encoding.Default.GetBytes(strPwd);//将字符编码为一个字节序列byte[] md5data md5.ComputeHash(data); //计算data字节数组的哈希值md5.Clear(); //清空MD5对象string str ; //定义一个变量用来记录加密后的密码for (int i 0; i md5data.Length - 1; i){str md5data[i].ToString(x).PadLeft(2, 0);}return str;}static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);while (true){Console.Write(请输入密码);string P_str_Code Console.ReadLine()!;Console.WriteLine(使用MD5加密后的结果为 Encrypt(P_str_Code));}}}
}
//运行结果
/*
请输入密码123456789Qq
使用MD5加密后的结果为6d28b4834bd6a9e384be01c131a8f2
请输入密码123456789QQ
使用MD5加密后的结果为46e7640c5b2ddeab142d71d872163b
请输入密码123456789qq
使用MD5加密后的结果为9c32d6523556378b8b1632720f7ab1
请输入密码*/