我想实现一个密码存储系统,问题是...我需要将db (sqlite)存储在某个地方。
所以我评估使用AES 256,但我在想,在云计算时代这就足够了吗?(算法必须是双向的)
附加问题:我应该加密整个数据库还是其中的数据?哪种方式更安全?为什么?
发布于 2011-03-14 10:23:25
AES-256对任何东西来说都绰绰有余。AES既是美国国家标准学会的标准,已被授权用于美国国家安全局的SuiteB程序(http://www.nsa.gov/ia/programs/suiteb_cryptography/),并且通常被认为是分组密码可用的最佳选择。
您可能需要查看SQLite加密扩展。http://www.hwaci.com/sw/sqlite/see.html
加密不仅仅是使用密码。如果你自己滚动它,你需要考虑操作模式(CBC或CTR是最流行的,每一个都有优缺点),你如何提供完整性(单独的加密不能确保数据没有被篡改),以及你如何获得实际的密钥(将你的主密码转换成加密密钥)。
发布于 2011-03-14 10:17:37
它当然是的。即使是AES 128也足够了。
https://stackoverflow.com/questions/5294067
复制相似问题