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

yipeiwu_com6年前PHP代码库

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生成4位数字验证码的实现代码

在php中实现验证码还是很方便的,关键点在于掌握php gd库与session的用法。 纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随...

php验证邮箱和ip地址最简单方法汇总

在开发中验证邮箱、url、数字是我们常用的一些例子,下面整理了验证邮箱、url、数字程序,大家有兴趣可参考一下. 例子代码如下: public static function isE...

PHP图片处理之使用imagecopyresampled函数裁剪图片例子

图片裁剪是指在一个大的背景图片中裁剪出一张指定区域的图片,常见的应用是在用户设置个人头像时,可以从上传的图片中,裁剪出一个合适的区域作为自己的个人头像图片。图像裁剪和图片缩放的相似,所以...

php设计模式 FlyWeight (享元模式)

享元模式英文称为“Flyweight Pattern”,我非常感谢将Flyweight Pattern翻译成享元模式的那位强人,因为这个词将这个模式使用的方式明白得表示了出来;如果翻译成...

php对象工厂类完整示例

本文实例讲述了php对象工厂类。分享给大家供大家参考,具体如下: <?php /** * 对象工厂 * @author flynetcn */ class Obj...