php – 在MySQL中存储敏感数据的最好办法是什么?

前端之家收集整理的这篇文章主要介绍了php – 在MySQL中存储敏感数据的最好办法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从 PHP脚本管理MysqL数据库.
通过SSL保护服务器和客户端之间的通信.
我存储敏感的用户帐户数据.

有没有办法在输入数据库时​​加密这些数据?
保护敏感数据的最佳方法是什么?

编辑:我正在使用CRON作业来更新依赖此密码登录用户帐户的数据.
所以我需要一个哈希这个密码的方法,并且能够得到我的CRON工作任务的原始密码.

实现它的最好方法是什么?

谢谢

认真的,不要使用MysqL的aes_encrypt()它是使用块密码最不安全的方法.它是使用ECB模式,我可以给一个简单的示例演示为什么这是一个严重的错误.

纯文本消息:

使用ECB模式加密的相同消息(无论使用什么密码):

使用CBC模式的EXACT相同消息(再次,您使用的密码无关紧要):

还有更多的理由不要使用MysqL的aes_encrypt,最重要的是您发送的每个单个查询也将具有您使用的aes密钥.如果数据库受到威胁,攻击者将启用日志记录,只需获取您的密钥并解密整个数据库.

那么你应该使用什么?我暂时喜欢this class.它使用CBC模式与String2Key函数和IV.您可以使用主键作为您的IV,每个消息必须具有唯一的IV.如果攻击者知道IV,并且如果它们是顺序的,只要块密码实现是安全的就可以了.重复使用IV制作WEP much less secure.

猜你在找的PHP相关文章