首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 生成易记随机密码:词库组合 + 数字后缀策略

     編輯:PHP 綜合知識

纯随机字符串难记忆,强制用户保存导致体验差。本文实现「词库拼接 + 数字后缀」策略:从预置常用单词库随机抽词拼凑,长度不足补随机数,生成如 pingwater6、radiohap28 类易记密码。

核心函数

 2) {
        $pwd = substr($pwd, 0, $length - strlen($num)) . $num;
    } else {
        $pwd = substr($pwd, 0, $length);
    }
    return $pwd;
}

// 示例输出
for ($i = 0; $i < 5; $i++) {
    echo random_readable_pwd(10) . "\n";
}
// pingwater6
// radiohap28
// sunwhite84
// happykid44
// coffeetv12
?>

策略优缺点分析

高安全场景替代方案

  • 密码管理器生成:random_bytes(16) + base64_encode → 高熵随机密码,配合密码管理器自动填充。
  • Passphrase(短语密码):Diceware 词表随机选 5-7 词,如 correct-horse-battery-staple,兼顾熵值与可记忆性。
  • WebAuthn/FIDO2:彻底去密码,硬件密钥/生物识别认证。

根据业务安全等级选择策略:临时分享链接、内部测试账号用本文算法;用户主密码、支付密码必须用高熵随机生成器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
维度评价
记忆友好度⭐⭐⭐⭐⭐ 单词组合符合语言直觉
熵值/安全性⭐⭐ 单词库固定、长度短,仅适合低安全场景(临时密码、邀请码、测试账号)
抗字典攻击弱,攻击者可遍历单词库组合
生成速度极快,无加密运算