md5和password_hash谁跟牛X

md5自不必说,想必所有phper都用过,但另一个加密函数不知道你见过没有

他就是password_hash();

加密方式更全面.使用起来也比md5+salt这种方式要简洁很多,最主要的是难破解,因为它每时每刻都在变动

它的使用方式大致是这样

1. 用户注册时提交过来密码,我们对用户密码进行加密,这里选择password_hash进行加密

2. 加密之后,将加密好的密码存储到数据表中

3.用户再次登录时,我们从表中取出密码,并使用password_verify函数进行校验,查看两种密码是否相同

简单的使用:

$paaa = password_hash("rasmuslerdorf",PASSWORD_DEFAULT);            //设置密码加密
$hash = '$2y$10$2GAiKeqFxxbMUh4iBqRyPOhlhKL7T7kquYQl7u5gGAscKISD9piAm'; //这个是上面加密后得到的值
if (password_verify('rasmuslerdorf1',$hash)) {
      //验证密码是否和散列值匹配
         echo '对';
   } else {
 echo '错';
   }

如果两次输入的密码不一样,就会输出密码错误

但却存在以下问题

 

1. 版本要求  php版本必须5.5+ (如果做接口对接,要求双方php版本都在5.5以上,会不会有一些不太现实)

2. 通过password_hash加密的密码基本只能通过php的函数password_verify来校验(这样和其他语言交互时会不会很麻烦呢)

所以呢,如果php自家用,我感觉password_hash真的是一个不错的选择,但如果和其他语言或者外界交互的话,可能就会出现一些小麻烦

 

具体参数详解: password_hash();password_verify()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值