用户名和密码的首选长度是多少?

dpp*_*dpp 11 passwords username

我正在开发一个登录模块.我只是想知道你可以允许的用户名和密码的首选长度是什么?为什么?

提前致谢!

Ste*_*n C 8

对用户名设置任意大小限制没有多大意义.但是如果您需要(例如,对于数据库列宽度),您应该将其设置得足够大,以便将来不会后悔.(我工作的地方,帐户名称是8个字符,前两个字符对所有员工都是相同的......呃!)

对密码设置大小限制是一个不好的想法.

这是个坏主意的主要原因是用户密码越长,它的熵就越多,因此猜测的难度就越大.通过限制密码长度,您可能会诱使用户使用不良密码.(不幸的是,不是典型的用户需要很多诱导......)

第二个原因是它建议您将密码存储在数据库表中.这将是一个很大的错误,因为如果系统的安全性受到损害,它可能会使用户的密码暴露出来.您应该在数据库中存储用户密码(可以具有有限大小)的盐渍加密哈希,并通过对其进行散列并将其与存储的哈希进行比较来检查提交的密码.


如果你在谈论最小长度(密码),你应该关注熵而不是密码长度.(由20"1"组成的密码不如随机生成的6个字符序列安全.)


我想我会回答这个问题.种子加密哈希打开了我的脑海,我不再担心长度,而且它更安全.谢谢!

(应该是咸的...我的坏.)

我只想纠正对上述内容的误解.长密码不一定是好密码(根据示例).但这并不意味着你应该"不用担心长度".过短的密码(甚至是随机密码)太容易猜到了.

如果您的目的是阻止/阻止用户设置易于猜测的密码,那么您应该使用某种密码质量检查程序来清除用户设置/重置密码时的"不良"密码.

谷歌搜索"密码熵"或"密码熵措施"将为您提供一些线索.这是附近的一个:

(注意:加密哈希方法是关于不存储密码...而不是关于密码长度.不管你的软件如何处理密码,密码都不安全.)

  • "我们只希望没有人会在注册时把密码字段放在小说中......"为什么不呢?它将散列为16个左右的字节,就像单个字符一样. (2认同)