laravel5的Bcrypt加密方式对系统保存密码的小结

laravel5文档介绍

//对 A 密码使用Bcrypt 加密
$password = Hash::make(‘mima‘);

//你也可直接使用 bcrypt 的 function
$password = bcrypt(‘mima‘);

//对加密的 A 密码进行验证
if (Hash::check(‘mima‘, $hashedPassword))
{
    // The passwords match...
}
//检查 A 密码是否需要重新加密
if (Hash::needsRehash($hashed))
{
    $hashed = Hash::make(‘secret‘);
}

目前常用的不可逆加密算法有以下几种:

  1. 一次MD5(使用率很高)
  2. 将密码与一个随机串进行一次MD5
  3. 两次MD5,使用一个随机字符串与密码的md5值再进行一次md5,使用很广泛
  4. PBKDF2算法
  5. bcrypt
  6. 其它加密算法

通常推荐使用 bcrypt 或 PBKDF2 这两种算法来对密码进行加密

无论是bcrypt还是PBKDF2都有各自的忠实拥护者。另外bcrypt不支持超过55个字符的密码短语。

技术还是需要不断地积累,不然只会用前三种。T.T,之后有空继续增加详细解说。

http://www.cnblogs.com/xxxxxxx/p/5381673.html

时间: 2024-08-09 01:19:23

laravel5的Bcrypt加密方式对系统保存密码的小结的相关文章

python的bcrypt加密方式验证

bcrypt 库的地址 https://pypi.python.org/pypi/py-bcrypt/ 可以通过下载源码包在本地编译安装,不过windows下会比较麻烦,需要VCForPython27这个东东帮忙, 其实有一种简单的方法: pip install bcrypt 轻松搞定. bcrypt加密的使用场景是这样的: 1.服务端记录了密码原文,客户端接收用户输入的密码,然后用这个密码计算生成一个字符串,发给服务端. hash = bcrypt.hashpw(password, bcryp

laravel5.4 登录注册MD5加密方式教程

上次写过一篇文章<laravle5.4修改成MD5验证加密方式>,这样做有一个缺点,是把整个框架的加密方式都修改了,今天分享的是针对注册登录的MD5加密方式,不影响其他hash加密. 转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-153-5886-1.html 具体步骤如下 1.在app目录下,新建一个文件Libraries,在Libraries目录下新建一个MD5.php文件,里面代码如下: <?php namespace App\Li

[转]加盐hash保存密码的正确方式

0x00 背景 大多数的web开发者都会遇到设计用户账号系统的需求.账号系统最重要的一个方面就是如何保护用户的密码.一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码,即使网站被攻破的情况下也不会造成较大的危害.保护密码最好的的方式就是使用带盐的密码hash(salted password hashing).对密码进行hash操作是一件很简单的事情,但是很多人都犯了错.接下来我希望可以详细的阐述如何恰当的对密码进行hash,以及为什么要这样做. 0x01 重要提醒

PHP加密方式。 base!base!base!

PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str  --  原始字符串. raw_output  --  如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回. 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949

开发常用到的几种加密方式

有时候我们经常会听到一些加密方式 最常见的就是Base64和MD5  这里分享一下平时看到的介绍和心得 1.Base64 编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到2个0

Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护

Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护 数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文.数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法.它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用. 一.概述 数据加密是指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文.它产生的历史相当久远,它是起源于

java中常用的加密方式

加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密). 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文.而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算是加密的一种,应该算是摘要算法吧.具体区分可以参考: (本人解释不清呢 -- ) http://secur

iOS开发中常用到的加密方式

1 base64 1.1 简介 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到2个0字节.并在最后编码完成后在结尾添加1到2个"=".例:将对ABC进行

java加密方式

加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密). 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文.而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算是加密的一种,应该算是摘要算法吧.具体区分可以参考: (本人解释不清呢 …… ) http://secur