美文网首页
密码散列算法

密码散列算法

作者: zhyke | 来源:发表于2018-08-29 17:51 被阅读0次

密码散列算法函数password_xxxx

下面总结就是:bcrypt很安全,比md5和sha1安全,但是有速度的代价.

Modern  PHP原文

对于密码的生成和校验我们可以用PHP自带的一个工具进行password_

password_hash(string 需加密的参数 ,int  $algo(使用的算法)  [,array  $options]  )  创建密码的散列(hash)

$algo有PASSWORD_DEFAULT,  PASSWORD_BCRYPT,   PASSWORD_ARGON2I

PASSWORD_DEFAULT- 使用 bcrypt 算法。该常量会随着 PHP 加入更新更高强度的算法而改变。 所以生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可超过60个字符(最好是255个字符)。

$options

cost  : 越大越安全,但是速度越慢,默认是10.用来指明算法递归的层数

password_hash的返回值里面有使用的算法、cost 和盐值.所以在校验的时候我们不需要指明对应的加密方式cost等配置方式.这个很重要,理解了这个你就能理解下面的3个方法.为什么只要一个hash加密值就行了.不能指明对应的加密方式

/**

* 这个例子对服务器做了基准测试(benchmark),检测服务器能承受多高的 cost

* 在不明显拖慢服务器的情况下可以设置最高的值

* 8-10 是个不错的底线,在服务器够快的情况下,越高越好。

* 以下代码目标为 ≤ 50 毫秒(milliseconds),

* 适合系统处理交互登录。*/

$timeTarget = 0.05; // 50 毫秒(milliseconds)

$cost = 8;

do {

$cost++;

$start = microtime(true);

password_hash("test", PASSWORD_DEFAULT, ["cost" => $cost]);

$end = microtime(true);

} while (($end - $start) < $timeTarget);

echo "Appropriate Cost Found: " . $cost;

password_verify — 验证密码是否和散列值匹配

password_needs_rehash — 检测散列值是否匹配指定的选项

注意:这个方法的用处就是.比如你一开始使用的是cost=10的加密,现在你机器性能加强了可以用cost=13的了,我们就可以用这个方法进行判断,发现当前加密用的是cost=10的,我们就重新进行加密

password_get_info—返回指定散列(hash)的相关信息


参考

Modern   PHP

相关文章

  • 密码安全

    本文介绍密码安全相关的加密与散列算法。 目录 散列算法 加密算法对称加密非对称加密 散列算法 Hashing 是使...

  • shiro散列算法密码加盐测试精讲篇

    散列算法 通常需要对密码 进行散列,常用的有md5、sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得...

  • 密码散列算法

    密码散列算法函数password_xxxx 下面总结就是:bcrypt很安全,比md5和sha1安全,但是有速度的...

  • shiro权限控制学习---编码/解码

    散列算法 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如MD...

  • 加密函数,加密手段。

    密码散列函数: 密码散列函数(英语:Cryptographic hash function),又译为加密散列函数、...

  • HashMap深度分析疑问

    hashMap底层是基于散列算法实现,散列算法分为散列再探测和拉链式。hashmap使用了拉链式散列算法,在jdk...

  • 加密技术05-哈希算法-SHA系列原理

    概述 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FI...

  • 哈希算法

    一,概念 前面涉及到散列表,散列函数,散列算法。那么和哈希算法又是什么关系,其实散列函数对应的算法就是哈希算法。 ...

  • salt原理

    [浅谈密码加SALT原理] 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列...

  • SHA家族-安全散列算法

    综览 安全散列算法secure hash algorithm ,是一个密码散列函数家族 是fips认证的五种安全散...

网友评论

      本文标题:密码散列算法

      本文链接:https://www.haomeiwen.com/subject/dnykwftx.html