为PHP登录系统扩展和使用盐生成代码
-
16-12-2019 - |
题
我正在处理WebProject的PHP / MySQL登录系统。通过在Web IVE上查看的SO和很多文章来提出基本框架并开始为其编写一些代码。然而,我的密码加密有点僵局。
经过一晚的阅读我发现:
- 我应该使用至少sha1或sha2的用户密码
- 我也应该使用随机生成的盐(这是我需要的帮助)并在加密它之前将其附加到密码
- 散列密码和随机生成的盐应该存储在数据库中,然后查询和组合/加密,然后针对哈希密码检查。
我的问题正在随机产生盐,
解决方案
我可以想到的可能性:
-
使用 mt_rand()在一个循环中挑选ASCII代码,获取相应的字符href=“http:///php.net/chr%28%29”rel=“nofollow”> chr()和 concatenate 到盐。
这允许使用任何长度创建盐。
-
使用可用字符定义字符串,使用 mt_rand()在一个循环中挑选随机位置它,用 substr()或 mb_substr()和 contenate 盐。
这允许使用所选字符集和长度创建盐。
-
使用生成随机字符串的内置函数(例如
uniqid())和可选择哈希。 这是快速简单的。
我通常使用第二个选项。
其他提示
uniqid()?
不隶属于 StackOverflow