emb*_*ded 12 php mysql security encryption cryptography
我正在从PHP脚本管理MySQL数据库.服务器和客户端之间的通信通过SSL保护.我存储敏感的用户帐户数据.
输入数据库时有没有办法加密这些数据?保护这些敏感数据的最佳方法是什么?
编辑:我正在使用CRON作业来更新依赖此密码登录用户帐户的数据.所以我需要一种方法来散列这个密码,并能够获得我的CRON工作任务的原始密码.
实现它的最佳方法是什么?
谢谢
roo*_*ook 15
说真的, 不要使用MySQL的aes_encrypt() 这是使用分组密码最不安全的方法.它正在使用ECB模式,我可以给出一个简单的示例演示为什么这是一个严重的错误.
纯文字信息:

使用ECB模式加密的相同消息(与您使用的密码无关):

使用CBC模式的完全相同的消息(再次,你使用什么密码并不重要):

有更多的理由不使用mysql的aes_encrypt,最值得注意的是,你发送的每个查询也都有你使用的aes密钥.如果数据库受到攻击,攻击者将启用日志记录,只需获取您的密钥并解密整个数据库.
那你应该怎么用?我暂时喜欢上课.它使用CBC模式,具有String2Key功能和IV.您可以使用主键作为IV,每条消息必须具有唯一的IV.如果攻击者知道IV,并且它们是顺序的,只要分组密码实现是安全的,那就没关系 . 重复使用IV使WEP更不安全.