2011-11-14 232 views
0

我已经使用这个代码只是增加了一个空密码字段添加到MySQL表某种密码。用随机选择的密码填充字段的正确方法是什么?每个记录都有不同的密码?密码写入表后,我打算通过电子邮件发送每条记录的建议,告知他们新创建的密码(然后给他们一个创建自己的密码的机会,但这是一个单独的问题)。填充空密码字段

谢谢。

+4

将密码的散列存储在数据库中可能是一个好主意。 –

回答

0

我通常会创建一个字符串,我认为它是有效的密码字符。然后我在循环中使用rand()和substr()来创建随机密码,一次一个字符。

然后,一旦您获得密码,您就可以通过电子邮件向客户发送HTTPS链接,以便他们在有限的时间内“拾取”密码。

让用户更改密码后,应该只在数据库中存储密码的散列。

当然,这可以通过删除密码并只使用唯一链接来简化,并要求他们在点击安全链接时设置密码。

0

您可以使用CHAR(FLOOR(RAND()*10) MOD 26 + ORD('a'))连接几次从英文字母中获得随机字符串。

编辑:乘以1000这样的:CHAR((FLOOR(RAND()* 1000)MOD 26)+ ORD( 'A'))

0

您可以使用类似:

 
SUBSTRING(MD5(RAND()) FROM 1 FOR 6) 

作为使用插入查询插入随机密码的密码。 希望有帮助

+0

FROM 1 for 6 - 这是什么意思? – DanielAttard