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

传统加密方式:
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加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的。破解这种加密只能采用暴力破解。

最后提醒:

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

本文参考地址:https://www.php.cn/php-weizijiaocheng-429813.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值