MD5是我们常用的一种加密方式,但是有朋友和我说C#自带的MD5方法碰撞阻力太低,担心安全问题

然后我这里开源一下我日常使用的优化后的MD5加密方法

代码中先创建出MD5对象后对字符串先进行MD5加密,对加密出的内容再次进行按位运算以增加MD5的安全性。

 public static string byte2hex(byte[] abyte0)
{ StringBuilder sb = new StringBuilder();
for (int i = ; i<abyte0.Length; i++)
{ if ((abyte0[i] & 0xff) < )
{
sb.Append("");
}
sb.Append(Convert.ToString((long)abyte0[i] & (long), ));
}
return sb.ToString();
} public static string MD5Encrypt(string json)
{
MD5 md5Hash = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(json));
return byte2hex(data);
}

  

最新文章

  1. __run_timers() -- 处理全部超时定时器
  2. printf的特殊用法
  3. 通过angularJS官方案例快速入门
  4. Flume应用场景及架构原理
  5. 八、天气App案例
  6. for循环练习题
  7. Shell 总结
  8. 完美完全卸载Oracle 11g数据库
  9. 找出共同好友 - 数据挖掘 - Scala版
  10. 人人都是CEO
  11. 20145237 实验二 “Java面向对象程序设计”
  12. WindowUtils【窗口工具类】
  13. Hack The Box 获取邀请码
  14. 常用的 jQuery 事件
  15. Codechef SUMCUBE Sum of Cubes 组合、三元环计数
  16. 深入对比TOML,JSON和YAML
  17. Nginx 设置域名转向配置
  18. 分布式理论(二)——Base 理论
  19. Lintcode: Kth Largest Element 解题报告
  20. Codeforces758A Holiday Of Equality 2017-01-20 10:08 48人阅读 评论(0) 收藏

热门文章

  1. 【转】msyql使用-用户创建/权限配置
  2. linux oom-killer
  3. LINUX中块设备文件和字符设备文件的本质区别
  4. Python之条件判断和循环(入门4)
  5. CopyOnWriteArrayList对比ArrayList
  6. 使用jmeter使用Jenkins发送自定义消息内容
  7. SQL表创建注意事项
  8. BZOJ3312:[USACO]No Change(状压DP)
  9. [USACO11DEC]Umbrellas for Cows
  10. 内存修改之IOS版ce