Php b crypt+;str_随机生成安全密码?

Php b crypt+;str_随机生成安全密码?,php,security,laravel,laravel-5.1,Php,Security,Laravel,Laravel 5.1,我正在为我的应用程序的第一次用户创建随机密码 是$password=bcrypt(str_random(12))在Laravel 5.1中生成密码的加密安全方法 我可以从这个答案中看出:str\u random()是不够的。将其包装在bcrypt()中是否有帮助 此外,是否有通用的或普遍接受的密码生成安全标准?对于标准使用,应该可以。更大的问题是,您将向用户发送/显示密码。通常情况下,密码应该由用户在密码字段中写入(带***),然后散列并保存。对于标准用途,应该可以。更大的问题是,您将向用户发送

我正在为我的应用程序的第一次用户创建随机密码

$password=bcrypt(str_random(12))在Laravel 5.1中生成密码的加密安全方法

我可以从这个答案中看出:
str\u random()
是不够的。将其包装在
bcrypt()
中是否有帮助


此外,是否有通用的或普遍接受的密码生成安全标准?

对于标准使用,应该可以。更大的问题是,您将向用户发送/显示密码。通常情况下,密码应该由用户在密码字段中写入(带***),然后散列并保存。

对于标准用途,应该可以。更大的问题是,您将向用户发送/显示密码。通常情况下,密码应由用户在密码字段中写入(带***),然后散列并保存。

使用
$password=str_random(12)

在引擎盖下,它尝试使用
openssl\u random\u pseudo\u字节
quickRandom
(请参阅)

您将生成非常难以猜测的密码。比您的实际用户会选择什么(密码1234)更难猜测

您提供的链接讨论了使函数不适合生成唯一用户ID的其他属性


同样,使用bcrypt不会给密码增加更多的熵。我知道您的密码生成函数有一个漏洞,允许我猜测其输出,然后我需要做的就是bcrypt该输出。关键是对于这个特定的用例,bcrypt不会增加值。

使用
$password=str_random(12)

在引擎盖下,它尝试使用
openssl\u random\u pseudo\u字节
quickRandom
(请参阅)

您将生成非常难以猜测的密码。比您的实际用户会选择什么(密码1234)更难猜测

您提供的链接讨论了使函数不适合生成唯一用户ID的其他属性


同样,使用bcrypt不会给密码增加更多的熵。我知道您的密码生成函数有一个漏洞,允许我猜测其输出,然后我需要做的就是bcrypt该输出。关键是,对于这个特定的用例,bcrypt不会增加价值。

为其他人生成密码,然后(可能)以某种方式发送密码,这在定义和实践中都是不安全的。相反,您不应该生成密码,或者至少根本不发送和使用密码。你应该提供一个链接,人们可以触发一个密码重置电子邮件消息到他们的注册地址。基于一次性令牌的链接应该只能在短时间内使用。根据定义和实践,为其他人生成密码然后(可能)以某种方式发送它是不安全的。相反,您不应该生成密码,或者至少根本不发送和使用密码。你应该提供一个链接,人们可以触发一个密码重置电子邮件消息到他们的注册地址。基于一次性令牌的该链接应仅在短时间内可用。