我目前有一个大型用户数据库,每个用户都有一个唯一的密码。所有密码都是md5加密的。我最初的设置方式是将用户详细信息列表转换为SQL,将excel表保存为CSV,然后在csv2sql.com上将其转换为SQL。然后,我使用SQL通过以下命令行创建唯一密码:
UPDATE users SET numbers = SUBSTRING(MD5(RAND()) FROM 1 FOR 10)
为了确保此命令不会生成重复项,我将密码字段设置为UNIQUE字段。然后我导出了这个表,这样我就有了所有原始密码的副本。导出后,我使用以下命令行将列表加密到md5:
UPDATE users SET `password` = MD5(`password`)
这一切都很好,尽管不是最有效的处理方式。现在我必须向数据库中添加更多的用户。当然,我必须维护原始用户的原始密码。我可以插入新用户,但我不确定如何在不更改所有以前的密码的情况下为他们创建新密码。有人能给我指正确的方向吗!
-
您可以将csv导入到一个临时表中,在那里进行修改,然后
insert into users (...) select ... from temp_users
-
您可以在用户表中添加一列"未加密密码",导入csv,使未加密密码位于该列中,然后运行
update users set password = md5(unencrypted_password) where unencrypted_password is not null
-
您可以使用不同的csv-sql转换器。作为一个黑客,我经常将csv导入excel/oo-calc,并制作一个这样的列:
=concat('insert into table (...) values (', A1, ', ', A2, ')');
,它允许我进行自定义的sql语句