初始用户密码导入MYSQL

时间:2010-07-27 00:52:55

标签: php mysql passwords

我继承了一个拥有庞大用户群的网站。我的客户端正在更新他们的记录,我需要将大约900个用户的一些预定密码导入到mysql表中。如果我通过php前端输入密码,我导入的行似乎加密密码。我可以使用phpMyAdmin将所有密码导入到表中,但是当我测试它们时,它们不能正常工作,因为它们是未加密的格式。有没有办法在将密码导入我的表之前加密密码?

3 个答案:

答案 0 :(得分:1)

您的问题并非100%明确,但我会假设您的密码存储在MySQL加密的列中。

为了在导入之前“加密密码”,您必须弄清楚正在使用的加密算法。这将涉及查看数据库模式和插入其中的代码,查找执行加密的位置以及识别算法。

完成此操作后,请提前使用相同的算法加密密码。

答案 1 :(得分:0)

您应该编写一个脚本来使用应用程序所需的相同加密方法导入密码。

您应该阅读PHP前端的源代码,以找出用于加密(或更可能是哈希)密码的方法。在不研究代码的情况下尝试猜测他们的方法是浪费时间。

根据散列方法,您可以将已导入的明文密码转换为散列版本,只需使用SQL更新即可。例如,如果它是SHA1,那么你可以这样做:

UPDATE accounts SET password = SHA(password)

这将用其哈希覆盖密码。请记住哈希可逆,所以在尝试之前进行数据库备份!

我还建议无畏的领导者阅读You're Probably Storing Passwords Incorrectly

答案 2 :(得分:0)

解决:

更新用户SET user_password = md5(user_password)

全部感谢您的输入。