我想创建一个令牌生成器,它生成用户无法猜到并且仍然是唯一的令牌(用于密码重置和确认码).
我经常看到这段代码; 是否有意义?
md5(uniqid(rand(), true));
Run Code Online (Sandbox Code Playgroud)
根据评论 uniqid($prefix, $moreEntopy = true)
收益率
前8个十六进制字符= Unix时间,最后5个十六进制字符=微秒.
我不知道如何$prefix
处理参数..
因此,如果您未将$ moreEntopy标志设置为true,则会提供可预测的结果.
问: 但是如果我们用uniqid
用$moreEntopy
,有什么用MD5哈希它买我们?它比以下更好:
md5(mt_rand())
Run Code Online (Sandbox Code Playgroud)
edit1:我将此令牌存储在具有唯一索引的数据库列中,因此我将检测列.可能有兴趣/
在extjs中,你总是可以通过扩展extjs类constructor()
.对于从Component
你那里学习的课程也可以延伸initComponent()
.
我想知道为什么这么多代码扩展通过initComponent
,而constructor
似乎是通用扩展方法.是否initComponent
提供明显的优势了constructor
?
我正在寻求成为一名优秀的OO开发人员.OO引起了我的兴趣,因为我理解了这些模式,知道为什么组合会给你更多的灵活性,然后继承,更多的是这样的智慧.但是,我得出的结论是,我知道如何实现单件工厂,但我不知道如何提出一个强大的OO设计.
我有一堆书
它们可能是非常好的书,但它们并不教你构建应用程序.我经常因一些非常基本的决定而瘫痪(例子).我正在寻找一本教导何时和为什么的书.有很多关于锤子和钉子的书籍,但我还没有找到一本书,告诉你一些他们的实际关系.
哪本书最能帮助你成为一名自信的OO建筑师/设计师?
phpass是一种广泛使用的哈希"框架".
在将明文密码提交给PasswordHash(v0.2)之前加盐普通密码是好的做法吗?
$dynamicSalt = $record['salt'];
$staticSalt = 'i5ininsfj5lt4hbfduk54fjbhoxc80sdf';
$plainPassword = $_POST['password'];
$password = $plainPassword . $dynamicSalt . $staticSalt;
$passwordHash = new PasswordHash(8, false);
$storedPassword = $passwordHash->HashPassword($password);
Run Code Online (Sandbox Code Playgroud)
供参考phpsalt类:
# Portable PHP password hashing framework.
#
# Version 0.2 / genuine.
#
# Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in
# the public domain.
#
#
#
class PasswordHash {
var $itoa64;
var $iteration_count_log2;
var $portable_hashes;
var $random_state;
function PasswordHash($iteration_count_log2, $portable_hashes)
{
$this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
if …
Run Code Online (Sandbox Code Playgroud) phpass是一种广泛使用的哈希"框架".在评估phpass时,HashPassword
我遇到了这个奇怪的方法片段.
function HashPassword($password)
{
// <snip> trying to generate a hash…
# Returning '*' on error is safe here, but would _not_ be safe
# in a crypt(3)-like function used _both_ for generating new
# hashes and for validating passwords against existing hashes.
return '*';
}
Run Code Online (Sandbox Code Playgroud)
答:我们同意这个类假设我们测试我们的哈希值是否相等,*
作为验证的一种方法.这就是我将这个类包装起来的原因,因为它的界面并不好.如果失败,我希望是假的.
这是完整的phpsalt类:
# Portable PHP password hashing framework.
#
# Version 0.2 / genuine.
#
# Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in
# …
Run Code Online (Sandbox Code Playgroud) hash ×3
php ×3
security ×3
phpass ×2
architecture ×1
extjs ×1
inheritance ×1
javascript ×1
ooad ×1
oop ×1
passwords ×1
random ×1