繁体   English   中英

在mysql表中填充空密码字段

[英]Populate null password field in mysql table

我刚刚使用以下代码将空密码字段添加到mysql表:

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

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

谢谢。

您可以将CHAR(FLOOR(RAND()*10) MOD 26 + ORD('a'))串联几次,以从英语字母表中获取随机字符串。

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

您可以使用类似:

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM