如何批量加密 MySQL 数据库中的现有密码?

发布于 11-25 03:25 字数 203 浏览 1 评论 0原文

我正在为客户更新一个 Web 系统,他的“帐户”表有超过 20,000 个用户,每个用户都有一个纯文本的密码字段,这意味着所有密码都没有加密。 (我知道,可怕!)无论如何,我需要知道如何获取所有这些密码并轻松加密它们(最好以批处理方式),然后将它们导入回数据库。我在搜索中找不到太多内容。我确实看到了 B-Crypt,但它看起来主要用于文件。我对此很新手,所以任何建议将不胜感激!谢谢。 :)

I am updating a web system for a client, and his 'accounts' table has over 20,000 users, each with a password field of straight text, meaning none of the passwords are encrypted. (I know, scary!) Anyway, I need to know how to take ALL of these passwords and easily encrypt them, preferably in batch style, and import them back into the db. I couldn't find much in searches. I did see B-Crypt, but that looks to be used mostly for files. I'm pretty novice at this so ANY suggestions would be greatly appreciated! Thanks. :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故乡的云2024-12-02 03:25:08

这是执行此操作的一种方法。

UPDATE table_Users
SET password = EncryptionFunctionYouChoose(password);

编辑
其中“table_Users”是保存密码的表,“password”是密码的列名称。
结束编辑

虽然更好的想法是使用单独的盐值对每个密码进行哈希处理,而不是加密。 (我的意见)

Here is one way to do this.

UPDATE table_Users
SET password = EncryptionFunctionYouChoose(password);

EDIT
where "table_Users" is the table where your password is held and "password" is the column name for the password.
END EDIT

Although a better idea would be to hash each password with an individual salt value rather than encrypting. (my opinion)

握住你手2024-12-02 03:25:08

据我所知MySQL没有提供内置的B-CRYPT功能。 参考。如果您只想通过使用 MySQL 查询来解决这个问题,您可以执行类似的操作

update users set password = SHA2(password, 256);

,但如果您确实喜欢 BCrypt,我想您将必须在应用程序级别执行此操作。

关于在数据库中存储密码总是有有趣的讨论。请参阅此列表

As far as I know MySQL does not provide in-built B-CRYPT function. Refer. If you just want to solve this issue by using MySQL queries you can do something like

update users set password = SHA2(password, 256);

But if you do like to BCrypt, I guess you will have to do it at app level.

There are always interesting discussions on storing password in database. See this list

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文