当创建一个"被遗忘的密码"的机制,我们可能希望创建一个tempory密码为用户是储存使用SHA1(随意提出其他C#密码术机构)。

多久我们应该使tempory密码?太短,这可能是野蛮的强迫。太长时间并不必要的长度是多余的,因为串哈?(由于20字和50字符串的结果在一散列的相同的长度无论如何)

更新
对不起如果这是误导。确定我们可以挑选一些出的空气,但我想知道,如果有一个良好的数学原因的挑13而不是12个。

有帮助吗?

其他提示

我一般去与10个字符。对于没有特别的理由,只是一些我猜想是上述平均长度用于由用户选择的密码。

只是由它的随机生成的事实,它很可能会更安全,更困难比你的用户选择的任何暴力。人挑笨密码如myspace1,stackoverflow1,12341234等

如果该密码是在字母数字字符你只需要大约6每个字符可用数据的比特,因此你错,有没有意义作出密码超过20个字符。

好像你是担心会临时密码比用户的密码更强大......在现实的时候,就像一个10个字符的基础-64(或类似 - 标点符号等)将是非常难破解和比所述密码的用户将产生强得多....

请其可变大小以及(比方说8-12个字符),这将使它更难蛮力......如果攻击者知道你返回一个X字符组成的密码他们所能做的就是尽力与N.所有密码假设.. n很大这将是不现实的,但改变N的大小将至少使其对于它们更难。

史蒂夫*吉布森已经创造了一个"超高安全密码生成器".
在该网页上,他生成3个不同的密码的每一页上显示:

  • 64随机的十六个字符的(0-9和A-F)
  • 63随机printable ASCII characters
  • 63随机的字母数字符的(a-z,A-Z,0-9)

他还解释说这背后的原因.这是一个很好的阅读。希望这会有所帮助。

去为任何长度您的网站指定为推荐用户。当生成的base64字符的随机字符串,我将在晚上8字符的密码安然入睡。但是,当然,我会限制登录尝试每隔X秒,并暂时禁用帐户y之后失败的尝试。

和记住散列,以阻止基于数据库的攻击之前添加每个用户独特的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top