网上找到MD5的两种实现方式区别没弄明白
时间:2011-12-06
来源:互联网
C# code
C# code
在网上找到的两种方式,最后的结果都一样,这两种方式什么区别呢?建议用哪个方式呢?
byte[] result = Encoding.Default.GetBytes("123abc456"); MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(result); Console.WriteLine(BitConverter.ToString(output).Replace("-", "")); //为什么要Replace("-", "")?
C# code
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes("123456")); //为什么不像上面的直接用数组呢? StringBuilder sb = new StringBuilder(); for (int i = 0; i < encryptedBytes.Length; i++) { sb.AppendFormat("{0:x2}", encryptedBytes[i]); //{0:x2}是什么意思 } Console.WriteLine(sb.ToString());
在网上找到的两种方式,最后的结果都一样,这两种方式什么区别呢?建议用哪个方式呢?
作者: hailun 发布时间: 2011-12-06
byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes("123456")); //为什么不像上面的直接用数组呢
其实是用了的:Encoding.ASCII.GetBytes("123456"),就是把123456转换成数组
{0:x2}是什么意思?
代表:转换成大写的十六进制文本
其实是用了的:Encoding.ASCII.GetBytes("123456"),就是把123456转换成数组
{0:x2}是什么意思?
代表:转换成大写的十六进制文本
作者: cuthkid 发布时间: 2011-12-06
谢谢楼上这么晚还回复
那为什么上面没用for循环而下面的采用for循环的形式呢?效率上有什么区别吗?上面的要比下面快吗?
或者说建议采用哪种方式呢?
那为什么上面没用for循环而下面的采用for循环的形式呢?效率上有什么区别吗?上面的要比下面快吗?
或者说建议采用哪种方式呢?
作者: hailun 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28