Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为一个 web 项目开发一个 php/mysql 登录系统。在浏览了 SO 和网络上的许多文章后,我提出了一个基本框架并开始为它编写一些代码。但是,我在密码加密方面陷入了僵局。
经过一个晚上的阅读,我发现:
我的问题是随机生成盐,
我能想到的可能性:
在循环中使用mt_rand()来选择一个 ASCII 代码,使用chr()获取相应的字符并连接到 salt。
这允许创建任何长度的盐。
定义一个包含可用字符的字符串,在循环中使用mt_rand()从中选择随机位置,使用substr()或mb_substr()提取所选位置的字符并连接到 salt。
这允许创建具有选定字符集和长度的盐。
使用生成随机字符串的内置函数(例如uniqid())并可选地对其进行散列。
这是快速和简单的。
我通常使用第二个选项。
唯一的()?
http://sg2.php.net/uniqid