.NET Core MD5加密 32位和16位
程序员文章站
2022-04-15 08:16:04
原文地址:https://www.cnblogs.com/oorz/p/8878491.html ......
public class md5help { //此代码示例通过创建哈希字符串适用于任何 md5 哈希函数 (在任何平台) 上创建 32 个字符的十六进制格式哈希字符串官网案例改编 /// <summary> ///获取32位md5加密 /// </summary> /// <param name="source">待解密的字符串</param> /// <returns></returns> public static string get32md5(string source) { using (md5 md5hash = md5.create()) { byte[] data = md5hash.computehash(encoding.utf8.getbytes(source + md5key)); stringbuilder sbuilder = new stringbuilder(); for (int i = 0; i < data.length; i++) { sbuilder.append(data[i].tostring("x2")); } string hash = sbuilder.tostring(); return hash.toupper(); } }
//这样容易解的密码变的更难解=无解 static string md5key = "yi0epm!*af"; /// <summary> /// 获取16位md5加密 /// </summary> /// <param name="source">待解密的字符串</param> /// <returns></returns> public static string get16md5(string source) { using (md5 md5hash = md5.create()) { byte[] data = md5hash.computehash(encoding.utf8.getbytes(source + md5key)); //转换成字符串,并取9到25位 string sbuilder = bitconverter.tostring(data, 4, 8); //bitconverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉 sbuilder = sbuilder.replace("-", ""); return sbuilder.tostring().toupper(); } } }
原文地址:
下一篇: 洛谷P2118 比例简化