首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加密mysql表中所有数据集的密码?

问如何加密mysql表中所有数据集的密码?
EN

Server Fault用户
提问于 2017-01-23 15:51:41
回答 1查看 1.3K关注 0票数 0

我正在运行一个带有用于用户身份验证的ProFTPD后端的MySQL服务器。

用户的密码目前是纯文本的。我的目标是,所有的用户都将加密的密码存储在数据库中。

我知道,当我想从一个用户加密一个密码时,我可以输入SQL命令:

代码语言:javascript
复制
update users set password= md5('MyPassword') where password="myPassword"; 

但是如何加密所有用户的所有密码呢?

我希望任何人都能帮我。

EN

回答 1

Server Fault用户

发布于 2017-01-25 19:27:32

代码语言:javascript
复制
update users set password= md5('MyPassword') where password="myPassword"; 

使用MD5作为散列是不安全的。不建议使用MD5

安全的哈希算法有PBKDF2、bcrypt、scrypt等。此外,所有的散列算法都必须与salt一起使用。@Gerald为这个主题发布了一个非常好的链接:https://security.stackexchange.com/questions/211/how-to-securely-hash-passwords

这里的问题是,这些保存哈希算法都不是在mysql中实现的。在module模块中,PBKDF2在ProFTPD中有一种身份验证模式。但是,OOTB不可能在mysql数据库中生成一个PBKDF2散列密码,或者一个密码,该密码使用另一个安全算法进行散列。

一个可能的解决方案是使用PHP创建一个HTML页面。PHP具有默认实现的函数,用于生成安全的散列密码。

我在ProFTPD论坛上问,如果有人知道另一个,也许更好的答案,对这个问题:https://forums.proftpd.org/smf/index.php/topic,12110.0.html

是的,我知道最初的问题是,一个人怎么能用一个命令同时散列我数据库中的所有密码。但我认为,首先,我应该寻找一个安全的哈希算法。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/828043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档