小编Exc*_*n e的帖子

md5(uniqid)对随机唯一令牌有意义吗?

我想创建一个令牌生成器,它生成用户无法猜到并且仍然是唯一的令牌(用于密码重置和确认码).

我经常看到这段代码; 是否有意义?

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:我将此令牌存储在具有唯一索引的数据库列中,因此我将检测列.可能有兴趣/

php security random passwords hash

33
推荐指数
3
解决办法
6万
查看次数

Extjs:通过构造函数或initComponent扩展类?

在extjs中,你总是可以通过扩展extjs类constructor().对于从Component你那里学习的课程也可以延伸initComponent().

我想知道为什么这么多代码扩展通过initComponent,而constructor似乎是通用扩展方法.是否initComponent提供明显的优势了constructor

javascript inheritance extjs prototypal-inheritance

22
推荐指数
2
解决办法
2万
查看次数

OOAD书籍推荐:从理论到实践

我正在寻求成为一名优秀的OO开发人员.OO引起了我的兴趣,因为我理解了这些模式,知道为什么组合会给你更多的灵活性,然后继承,更多的是这样的智慧.但是,我得出的结论是,我知道如何实现单件工厂,但我不知道如何提出一个强大的OO设计.

我有一堆书

  1. GoF的设计模式
  2. AntiPatterns Brown等.
  3. 福勒重构
  4. 代码完成2

它们可能是非常好的书,但它们并不教你构建应用程序.我经常因一些非常基本的决定而瘫痪(例子).我正在寻找一本教导何时和为什么的书.有很多关于锤子和钉子的书籍,但我还没有找到一本书,告诉你一些他们的实际关系.

哪本书最能帮助你成为一名自信的OO建筑师/设计师?

architecture oop ooad

13
推荐指数
2
解决办法
9288
查看次数

盐是否包含在phpass哈希值中,或者您是否需要对其输入进行加盐?

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)

php security hash phpass

11
推荐指数
1
解决办法
4885
查看次数

如何*是一个安全的哈希密码?

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)

php security hash phpass

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