在mysql表中填充空密码字段

时间:2011-11-14 15:31:09

标签: php mysql passwords

我刚刚使用以下代码向mysql表添加了一个空密码字段:

ALTER TABLE `mytable` ADD `password` VARCHAR( 25 ) AFTER `ClientEmail`

现在密码字段在表中,我想用某种密码填充那些空字段。使用随机选择的密码填充字段的正确方法是什么,这些密码对于每个记录都是不同的?在将密码写入表后,我打算通过电子邮件发送表中的每条记录,告知他们新创建的密码(然后当然给他们创建自己的密码的机会,但这是一个单独的问题)。 p>

谢谢。

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用以下内容:

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

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

答案 2 :(得分:0)

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

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

让用户更改密码后,您应该只在数据库中存储密码的哈希值。

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