首页前端开发其他前端知识如何给MD5加上salt随机盐值

如何给MD5加上salt随机盐值

时间2024-02-10 16:32:03发布访客分类其他前端知识浏览1070
导读:收集整理的这篇文章主要介绍了如何给MD5加上salt随机盐值,觉得挺不错的,现在分享给大家,也给大家做个参考。 如何加点盐(salt ?为了加强MD5的安全性,从而加入了新的算法部分即加...
收集整理的这篇文章主要介绍了如何给MD5加上salt随机盐值,觉得挺不错的,现在分享给大家,也给大家做个参考。

如何加点盐(salt)?

为了加强MD5的安全性,从而加入了新的算法部分即加盐值,加盐值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样,使用不同的加盐值产生的最终密文是不一样的:

     1).首先我们得到的是明文的hash值

     2).进行计算获取MD5明文hash值

     3).随机生成加盐值并插入

     4).MD5插入加盐值得到的hash

     5).得到最终的密文

看一个简单的加salt函数:

/** * MD5加SALT函数 * by http://www.phpddt.COM */function do_hash($psw) {
      $salt = 'fdsafagfdgv43532ju76jM';
     //定义一个salt值,最好够长,或者随机  return md5($psw . $salt);
 //返回加salt后的散列}
    

注意:

如果你是随机生成salt值就得放入数据库,不要用time()时间戳啥的,那样别人不就可以枚举了嘛,如果你嫌麻烦,可以配置一个复杂的salt值,如上,两种方法各有优点。

另一种复杂点加密方法:

function PassCrypt($ManagerPassword){
    $ManagerPassword=md5($ManagerPassword);
    $Salt=substr($ManagerPassword,-1,3);
    $ManagerPassword=crypt($ManagerPassword,$Salt);
    Return $ManagerPassword;
}
    

这样先把密码用MD5加密,然后截取其结果的一段,再用crypt加密,因为这两个加密函数都是单向的,所以就没有人能破解的了了,而且加密后的最终密码是13位的,无论谁拿到手都不知道该怎么破解了,在密码验证时只需要将原始密码用加密函数再加密一编进行匹配就行了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

您可能感兴趣的文章:
  • php md5下16位和32位的实现代码
  • Python使用MD5加密字符串示例
  • jQuery MD5加密实现代码
  • java实现md5加密示例
  • Md5密码在线破解
  • 使用java获取md5值的两种方法
  • PHP中MD5函数使用实例代码
  • php 的加密函数 md5,crypt,base64_encode 等使用介绍
  • Python的加密模块md5、sha、crypt使用实例
  • Java生成MD5加密字符串代码实例

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何给MD5加上salt随机盐值
本文地址: https://pptw.com/jishu/608603.html
快速解决eclipse中注释的代码依然会执行的问题 GitHub入门教程 手把手教你最简单的开源项目托管

游客 回复需填写必要信息