登录  /  注册

【哈希密码】PHP比md5更安全的加密方式

藏色散人
发布: 2019-09-02 14:40:41
转载
4512人浏览过

传统加密方式:

md5(密码+盐值);

$passwordString='your password';//你的密码
$salt="your salt value";//盐值,增加复杂度(随机字串)
$md5Password=md5($passwordString.$salt);
登录后复制

从理论上来说,md5不可逆,算是一种比较安全的加密方式。但是我要提醒的是,md5早在04年的时候就被中国人破解。一旦被人拖库的化,密码泄漏的可能性极大。

现在推荐一种新的处理方式:

密码散列算法函数

password_get_info — 返回指定哈希(hash)的相关信息

password_hash — 创建密码的哈希(hash)

password_needs_rehash — Checks if the given hash matches the given options

password_verify — 验证密码是否和哈希匹配

PHP5.5引入了Password Hashing函数,内核自带无需安装扩展。在PHP5.4下测试了下也可是可以的,使用前最好确认一下你当前的环境是否支持这些函数。

Password Hashing主要提供了4个函数

//查看哈希值的相关信息
array password_get_info (string $hash)
 
//创建hash密码
string password_hash(string $password , integer $algo [, array $options ])
 
//判断hash密码是否特定选项、算法所创建
boolean password_needs_rehash (string $hash , integer $algo [, array $options ] 
 
boolean password_verify (string $password , string $hash)
//验证密码
登录后复制

代码演示:

$password = 'password123456';//原始密码
//使用BCRYPT算法加密密码
$hash_password = password_hash($password, PASSWORD_BCRYPT);
 
 
if (password_verify($password , $hash_password)){
   echo "密码匹配";
}else{
   echo "密码错误";
}
登录后复制

重要特征:

通过password_hash加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的。破解这种加密只能采用暴力破解。

最后提醒:

加密方法再好,原始密码设置的过于简单都容易被破解,设置复杂的密码才是王道。

以上就是【哈希密码】PHP比md5更安全的加密方式的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:51cto网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号