php用户名的密码加密更安全的方法

Jillian ·
更新时间:2024-11-13
· 817 次阅读

php中对用户密码的加密主要有两种方法,一种是利用md5加密,另一种是利用password_hash加密,两种方法中后一种的方法比前一种方法安全很多,几乎不能被黑客破解,但php版本必须在5.5以上。下面介绍两种加密方法如何加密才更安全。

新建一个PHP文件,命名为test.php。

利用md5加密。为了更加安全,可以给用户密码加上随机字符串再使用md5加密,产生随机字符串的函数如下:

假如用户的密码$password为123456,则可以把123456加上随机字符串传入md5函数中进行加密。随机字符串和用户密码都存储在数据库中,当解密的时候可以使用进行判断密码是否正确。

1、/4PHP版本在5.5以上的更安全的加密方式

新建一个php文件,命名为test2.php

使用password_hash()方法对密码进行加密,这是目前PHP最为安全的加密方式。假如用户密码为123456,加密方式如下:

由上面代码可见,加密的过程是很简单的,由于使用 bcrypt 算法,密码会随着PHP版本的不同,长度也会不同。因此,数据库里储存密码的字段最好是255个字符,可以避免出错。

password_hash解密的方式是通过password_verify()方法来解密的,假如数据库存储的密码为$db_password,则解密方法如下:

您可能感兴趣的文章:PHP实现的单向散列加密操作示例详谈PHP中的密码安全性Password Hashing理解php Hash函数,增强密码安全PHP更安全的密码加密机制Bcrypt详解PHP之密码加密的几种方式PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)PHP中的密码加密的解决方案总结php用户密码加密算法分析【Discuz加密算法】php实现用户注册密码的crypt加密PHP中使用addslashes函数转义的安全性原理分析PHP中散列密码的安全性分析



PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号