我一直在研究的系统需要DPA,并询问有关保持数据密码安全的问题。我已经想出了解决这个问题的想法,其中包括为数据库中存储的数据库提供数据解密密码,但是使用经过验证的用户密码(存储为MD5密钥)加密后使用其他类型的散列。
问题是,使用不同的密钥(至少20个字符长,可能的扩展名)多次加密密码会使得在没有密码的先前知识或信息的情况下更容易解密吗?
答案 0 :(得分:1)
不,一般来说,好的密码应该具有即使您知道明文也无法检索数据的属性。加密数据不应该产生太大影响,这是一个很好的密码和足够大的密钥空间。
答案 1 :(得分:0)
首先,MD5不再被视为安全加密算法。有关详细信息,请参阅http://www.kb.cert.org/vuls/id/836068。
其次,数据的加密密钥不应存储在数据库本身中。它应该单独存储。这样,至少需要获得两件事来解密数据(数据库文件和密钥)。如果密钥存储在数据库本身中,一旦有人拥有数据库文件,它可能不会花很长时间才能找到它。
查找用于存储密钥的单独方法。它应该被编码到应用程序中或存储在以某种方式混淆的文件中。