将新用户添加到数据库并生成唯一密码

时间:2011-06-01 08:43:46

标签: mysql database passwords

我目前有一个庞大的用户数据库,每个用户都有一个唯一的密码。所有密码都是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`)

这一切都运行良好,尽管不是处理它的最有效方式。 现在我必须将更多用户添加到数据库中。当然,我必须保留原始用户的原始密码。我能够插入新用户,但我不确定如何在不改变之前的所有内容的情况下为他们创建新密码。有人能指出我正确的方向!

1 个答案:

答案 0 :(得分:1)

  • 您可以将csv导入临时表,在那里进行修改,然后insert into users (...) select ... from temp_users

  • 您可以在用户表中添加“未加密密码”列,导入csv,以便未加密的pw在该列中,然后运行update users set password = md5(unencrypted_password) where unencrypted_password is not null

  • 您可以使用不同的csv-sql-converter。作为一个黑客,我经常将csv导入excel / oo-calc,并创建一个这样的列:=concat('insert into table (...) values (', A1, ', ', A2, ')');,它允许我做自定义的sql语句