Generate a random password in PHP
我想用PHP生成一个随机密码,稍后将其发送给注册用户。我怎样才能做到最好?我已经尝试过使用rand函数,但是我没有使它工作。最好是有一个函数为我这样做的可能性,所以我只需要调用
谢谢你的帮助。
- 你看过任何教程或其他的主题吗?
- 您是否通过电子邮件发送密码?
- @是的,这就是我想要的。
- 好吧,在密码安全方面,用明文通过电子邮件发送密码通常不是一个好主意。
- 可以。。。嗯,登录一次,然后再更改它(为了方便邮件确认),它只应该是一次性密码。
- 最好通过邮件发送激活链接。
您可以通过以下功能轻松实现这一点:
1 2 3 4 5 6 7 8 9 10
| function random_string ($length)
{
$string ="";
$chars ="abcdefghijklmanopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen($chars);
for ($i = 0; $i < $length; $i++) {
$string .= $chars[rand(0, $size - 1)];
}
return $string;
} |
在这里,您首先生成一个空字符串,然后定义一个包含您想要的所有字符的字符串,您还可以添加#或?或您想要的任何字符。在计算完字符数后,可以开始填充新字符串。您只需使用for循环来完成此操作。每次调用loopcontent时,都会有一个随机字符(从您的$char中)添加到空字符串中。
只需键入以下内容,即可使用此函数(例如,如果要将随机密码存储在变量中):
1
| $password = rand_string(15) //the number specified in brackets is the amount of characters in your password |
号
如果您遇到任何问题,请通知我。
- 你从来没有设置过$string。每次呼叫都返回',可能意味着$string .=?
- 当然,更新了,谢谢你的提示
- 这是为了我的目的,谢谢。但是我会考虑发送一个激活链接而不是密码…
- EWWW。不要用rand()作为密码,而是用random_int()作为密码。