我使用,需要一个密钥值和矢量值加密并在MVC3应用解密数据的AES加密/解密类。
在保存记录我对数据进行加密,然后存储在数据库中。 当我检索记录我正在解密控制器和通过未加密的价值的看法。
因为它穿越网络,而是为了保护它应该被泄露数据库的担忧并不保护数据。
我看了很多帖子说不要说把密钥进行加密的代码。
好了,所以应该在哪里他们保持? 文件系统? 另一个数据库?
寻找一些方向。
我使用,需要一个密钥值和矢量值加密并在MVC3应用解密数据的AES加密/解密类。
在保存记录我对数据进行加密,然后存储在数据库中。 当我检索记录我正在解密控制器和通过未加密的价值的看法。
因为它穿越网络,而是为了保护它应该被泄露数据库的担忧并不保护数据。
我看了很多帖子说不要说把密钥进行加密的代码。
好了,所以应该在哪里他们保持? 文件系统? 另一个数据库?
寻找一些方向。
常识告诉我们,如果入侵者获得访问你的数据库,他们很可能还可以访问您的文件系统。 这真的归结到你。 首先,你可以尝试将其隐藏。 在配置文件,在文件系统中的某个地方纯文本文件,另一个关键是在应用程序中进行加密,...等等等等。
配置文件是一个符合逻辑的答案,但为什么抓住机会 - 混吧。 随意搭配多层次的加密密钥 - 要求从记录本身的东西,是唯一的每一条记录,另外一个需要配置值,第三个需要应用特定的价值,也许从库中的第四个隐藏的一个以及内应用程序的参考? 这样一来,即使一层不知何故被泄露,你将有几个人保护它。
是的,它增加开销。 是的,这是比较昂贵的。 但它是值得的,如果你有一个像用户信用卡详细信息的敏感数据? 你打赌它。
我使用类似的加密和哈希技术,我个人的小项目,是非常安全的专注和谨慎控制的一个。 这取决于你需要多少数据显示在任何一个时间 - 例如,我的永远不会在同一时间只取回10条记录,最有可能的就更少了。
...要指定我所说的混合平均:加密一次。 然后用不同的密钥和suggestedly不同的算法再次加密数据。
我将使用注册表项由ACL保护的 ,所以只有在您的应用池运行可以阅读他们的帐户。