加密和解密充当数据库的XML文件的最佳方法?

时间:2011-08-11 20:26:07

标签: wpf xml encryption

想知道加密和解密充当数据库的XML文件的最佳方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

.NET Framework中包含使用symmetricassymetrics密钥的XML加密API。

您也可以从任何.NET语言使用标准.NET AES encryption classes,但您必须手动操作XML中的元素/属性值(或将其全部加密为一个大字符串)。如果您使用它作为数据库加密可能会导致一些问题,如果您不能一次解密所有这些问题。例如,如果您需要搜索多个元素,那么解密每个元素将需要付出代价才能检查这些值。

加密本身并不完美,您必须保护用于加密数据的密钥。查看SecureString类和DPAPI API以保护密钥,尽管可能有更好的API来执行此操作。如果你的加密代码中有bug,你可能也没有加密,所以尽量少写,并确保你有专家审查的代码。

答案 1 :(得分:0)

对于大多数用途,在CTR模式下AES-128没有填充(或者带有PKCS7填充的CBC模式)就足以加密您的文件。如果您希望能够解密部分文件而不必从头开始解密整个事件,则CTR模式会更好。您只需要存储每个部件使用的计数器的值。