zoukankan      html  css  js  c++  java
  • PHP密码加密技术phpass

    存储密码

    使用 phpass 库来哈希和比较密码

    经 phpass 0.3 测试,在存入数据库之前进行哈希保护用户密码的标准方式。 许多常用的哈希算法如 md5,甚至是 sha1 对于密码存储都是不安全的, 因为骇客能够使用那些算法轻而易举地破解密码

    对密码进行哈希最安全的方法是使用 bcrypt 算法。开源的 phpass 库以一个易于使用的类来提供该功能。

    示例

    <?php// Include phpass 库require_once('phpass-03/PasswordHash.php')
    
    // 初始化散列器为不可移植(这样更安全)$hasher = new PasswordHash(8, false);
    
    // 计算密码的哈希值。$hashedPassword 是一个长度为 60 个字符的字符串.$hashedPassword = $hasher->HashPassword('my super cool password');
    
    // 你现在可以安全地将 $hashedPassword 保存到数据库中!
    
    // 通过比较用户输入内容(产生的哈希值)和我们之前计算出的哈希值,来判断用户是否输入了正确的密码$hasher->CheckPassword('the wrong password', $hashedPassword);  // false
    
    $hasher->CheckPassword('my super cool password', $hashedPassword);  // true?>

    陷阱

    • 许多资源可能推荐你在哈希之前对你的密码“加盐”。想法很好,但 phpass 在 HashPassword() 函数中已经对你的密码“加盐”了,这意味着你不需要自己“加盐”。
    可以到此处:http://www.openwall.com/phpass/下载phpass的源码。
  • 相关阅读:
    复杂报表的存储过程
    Jquery中使用setInterval和setTimeout
    Jquery EasyUi实战教程布局篇
    枚举enum
    myGeneration代码生成器
    带有分页的存储过程
    应用临时表的存储过程
    缓存类的写法
    HDU4706 Children's Day
    HDU4706 Children's Day
  • 原文地址:https://www.cnblogs.com/mashil/p/6416280.html
Copyright © 2011-2022 走看看