网络科技

    今日:52| 主题:301517
收藏本版
互联网、科技极客的综合动态。

[其他] How to Hashing Password in PHP 5.5 with Password Hashing API

[复制链接]
yuy527 发表于 2016-10-5 15:40:53
212 12
Thistutorial show you how to hashing passwords inPHP 5.5 with hashingAPI. There is a large number of web developers using old and less secure algorithm like MD5 and SHA1 encryption etc but those passwords are plain strings. In this new hashing API it uses bcrypt (its a  key derivation function for passwords). In this article we are going to explore PHP’s new hashing API.
   

How to Hashing Password in PHP 5.5 with Password Hashing API

How to Hashing Password in PHP 5.5 with Password Hashing API

   DOWNLOAD CODE DEMO
   password_hash() – used to hash the password.
   password_verify() – used to verify a password against its hash.
  password_hash()

  1. <?php
  2. $password = "phpgang";
  3. $hash = password_hash($passwod, PASSWORD_DEFAULT);
  4. ?>
复制代码
Hash generated from above code is:
  1. $2y$10$vdd/HDckxSzFdOMLZ4Rhh.M3MQeOsPCwcsvAFW3MJWMKdxdv63.
复制代码
In this function the first parameter is your password and second parameter used to specify the algorithm to hash password.
   PASSWORD_DEFAULT – is the bcrypt algorithm (default as of PHP 5.5.0).
  If you are using PASSWORD_DEFAULT in your projects, its recommended to create column size must be larger than 60 characters to save hash if you define column to 255 would be good.
   Most important is that you don’t have to provide salt (appending or pre-appending is called salt ) this API can automatically generate random salt but if you want to give your own salt then there is an options to add it as a third parameter in it.
  1. <?php
  2. $options = [
  3.     'salt' => function_for_salt(), // write your own code to generate a salt
  4.     'cost' => 11 // allows for you to change the CPU cost of the algorithm
  5. ];
  6. echo password_hash($password, PASSWORD_DEFAULT, $options);
  7. ?>
复制代码
  We have generated hashed password with this new API now its time to verify these passwords with password_verify() . This function takes plain password and hashed password which we have saved in database.
  password_verify()

  1. <?php
  2. $passwod = "phpgang";
  3. $hash = "$2y$10$vdd/HDckxSzFdOMLZ4Rhh.M3MQeOsPCwcsvAFW3MJWMKdxdv63.";
  4. if (password_verify($password, $hash))
  5. {
  6.     // Password valid!!
  7. }
  8. else
  9. {
  10.     // Invalid password.
  11. }
  12. ?>
复制代码
  This way you can verify your passwords and make your websites passwords strong with the latest API. If you are not using PHP 5.5 then there is a library available you can use that library [ here ] and create passwords in latest encryption.
  I hope you like this tutorial feel free to comment your views.
蒋道兵 发表于 2016-10-5 17:24:45
帮顶,帮顶,快速顶贴中・・・・・・
回复 支持 反对

使用道具 举报

sToΝě 发表于 2016-10-5 17:29:43
不觉名利。。。。。
回复 支持 反对

使用道具 举报

恨山 发表于 2016-10-5 17:42:03
经验之谈,谢谢yuy527了,请继续努力
回复 支持 反对

使用道具 举报

mengtiantang 发表于 2016-10-5 17:59:23
小鲜肉心塞
回复 支持 反对

使用道具 举报

halokr 发表于 2016-10-5 18:17:27
我来一个充满激情的回复
回复 支持 反对

使用道具 举报

zhcsyxgs 发表于 2016-10-12 02:48:51
你踩我的脚没事,可别踩我的鞋呀!
回复 支持 反对

使用道具 举报

蹇韵 发表于 2016-11-8 13:00:56
我死了,但是在烈火中我又站起来了,你猜是涅磐,还是尸变?
回复 支持 反对

使用道具 举报

傲珊 发表于 2016-11-9 20:41:54
看了这么多帖子,第一次看到这么经典的!
回复 支持 反对

使用道具 举报

崔菁 发表于 2016-11-11 18:32:53
看起来好像不错的样子
回复 支持 反对

使用道具 举报

我要投稿

推荐阅读


回页顶回复上一篇下一篇回列表
手机版/c.CoLaBug.com ( 粤ICP备05003221号 | 粤公网安备 44010402000842号 )

© 2001-2017 Comsenz Inc.

返回顶部 返回列表