(编辑:jimmy 日期: 2024/11/21 浏览:2)
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,则解密方法如下: