盐度值是Rijndael或AES加密的基本良好做法吗?

Ach*_*les 4 .net encryption aes rijndaelmanaged

我使用.NET中的Rijndael/AES加密提供程序实现了加密功能.我对该算法的"理解"表明,只要Key和IV没有受到损害,那么数据就是安全的.不过,我已经阅读过一些网站,其中盐渍密码是最佳做法.对我来说的困惑在于,似乎只有基于哈希函数的加密才需要腌制. 使用Rijndael或AES时的最佳做法是什么?应该使用什么值(明文,密钥,IV)?

sth*_*sth 5

如果使用相同的密钥和相同的IV加密不同的数据集,则相同的明文始终会生成相同的加密文本.如果多个用户具有相同的密码,他们也将具有相同的加密密码,并且从加密数据中可以明显看出他们的密码是相同的.

如果在每次加密之前向明文添加salt,则相同的密码将导致不同的加密字符串,因为(通常)在每种情况下使用不同的盐.

因此,如果对所有密码加密使用相同的密钥和IV,则场景与使用散列函数时相同,并且使用salt具有相同的优点.如果为每次加密使用不同的密钥或IV,则相同的密码会产生不同的加密文本,并且您没有这些问题.在这种情况下,腌制不会改善任何事情.