我刚刚使用以下代码向mysql表添加了一个空密码字段:
ALTER TABLE `mytable` ADD `password` VARCHAR( 25 ) AFTER `ClientEmail`
现在密码字段在表中,我想用某种密码填充那些空字段。使用随机选择的密码填充字段的正确方法是什么,这些密码对于每个记录都是不同的?在将密码写入表后,我打算通过电子邮件发送表中的每条记录,告知他们新创建的密码(然后当然给他们创建自己的密码的机会,但这是一个单独的问题)。 p>
谢谢。
答案 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链接,以便他们在限定时间内“提取”密码。
让用户更改密码后,您应该只在数据库中存储密码的哈希值。
当然,这可以通过删除密码并使用唯一链接来简化,并要求他们在点击安全链接时设置密码。