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的源码。
  • 相关阅读:
    Spring中的AOP
    P2782 友好城市
    1576 最长严格上升子序列
    1058 合唱队形 2004年NOIP全国联赛提高组
    5294 挖地雷
    1643 线段覆盖 3
    4768 跳石头
    1026 逃跑的拉尔夫
    2727:仙岛求药
    codevs 4888 零件分组
  • 原文地址:https://www.cnblogs.com/mashil/p/6416280.html
Copyright © 2011-2022 走看看