我想存储在数据库中加密的用户密码。我需要使用双向,对称加密,例如。 AES(在这种特殊情况下,使用散列不是一种选择)。
第1部分
使用我需要加密的字符串作为密钥的风险是否显着增加?如果重要的话,可以在密钥中添加公共可用(同一行)盐。
第2部分
同样的问题,但适用于以下情况:
两个加密值都存储在同一个数据库行中。
答案 0 :(得分:1)
只要您的字符串密码足够长并且您将字符串转换为密钥的功能是健壮的,那么使用字符串密码就没有特殊的安全问题。
为了防止涉及第一个阻止的重放攻击,你应该总是加盐。将一个随机数注入IV,或者注入正在加密的流的头部。