小编wag*_*639的帖子

我是否需要Salt和Hash随机生成的令牌?

我正在使用Adam Griffiths的CodeIgniter身份验证库,我正在调整用户模型.

我遇到了他用来生成令牌的生成函数.

他首选的方法是引用random.org的值,但我认为这是多余的.我正在使用他的后退方法随机生成一个20个字符长的字符串:

$length = 20;
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$token = '';    
for ($i = 0; $i < $length; $i++) {
 $token .= $characters[mt_rand(0, strlen($characters)-1)];
}
Run Code Online (Sandbox Code Playgroud)

然后他使用盐哈希这个令牌(我正在梳理来自不同功能的代码)

sha1($this->CI->config->item('encryption_key').$str);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何理由通过盐渍哈希运行令牌?

我已经读过,只是随机生成字符串是一种天真的方式来制作随机密码但是sh1哈希和盐是必要的吗?

注意:我从https://www.grc.com/passwords.htm获取了我的encryption_key (63随机字母数字)

saltedhash

4
推荐指数
1
解决办法
2931
查看次数

传输前哈希密码?(网站)

我正在阅读这篇关于密码安全的Ars文章,它提到有些网站"在传输前散列密码"?

现在,假设这不使用SSL连接(HTTPS),a.这实际上是安全的吗?如果它是如何在一个安全的庄园做到这一点?

编辑1 :(基于前几个答案的一些想法)

C.如果您在传输之前对密码进行哈希处理,如果您只在用户凭据数据库中存储密码的盐渍哈希版本,那么如何使用密码?

d.只是要检查,如果您使用的是HTTPS安全连接,那么这是必要的吗?

passwords

4
推荐指数
1
解决办法
1114
查看次数

记录PHP代码 - 是否会影响性能?

我不敢相信任何人通常都会反对文档和评论,但是在PHP中这样做的最佳实践(和实际)是什么?

在JavaScript中,您可以记录代码,然后运行最小化器以生成代码的生产版本以供使用.在PHP中,额外的文本行会影响性能吗?您是否应该将文档保存在另一个文件中(我认为这可能对API和框架很重要,但会降低您的开发速度)?

编辑:

我的逻辑是它必然需要更长的时间,因为文件大小更长并且为解析器添加更多工作(尽管可能可以忽略不计).假设你有1000行代码和500行注释,你应该把汇总版本改为直接到实际的文档页面吗?

php documentation

4
推荐指数
2
解决办法
500
查看次数

如何在NDB中测试未设置的重复属性?

如何在设置实体后测试NDB中未设置的重复属性?

我能找到的唯一参考说:

在重复属性上查询None值具有未定义的行为; 不要那样做.

google-app-engine app-engine-ndb

4
推荐指数
1
解决办法
1830
查看次数