我正在开发用于存储一些私人用户数据的应用。我使用sql-server-ce数据库。数据可以包含图像。将来,应用程序将能够与SkyDrive同步。所以我有几个关于数据加密的问题:
加密数据的最佳方法是什么?加密所有数据库(使用Password
选项),或仅加密数据(使用AES128,如数据库中一样)?
存储不对称密钥的位置(对于AES)。我可以将它作为常量存储在代码中(我猜不是:Silverlight - Hardcoding private key),还是应该使用ProtectedData
类?据我了解,ProtectedData
项链接到当前设备,因此我无法将生成的密钥同步到另一台设备?
如何存储图片?作为分离的加密文件,还是数据库中的Blob列?对于所有应用程序,它可以是大约50个全分辨率图像。我想将它们存储在数据库中,但它会影响性能(例如,我想显示存储在另一个Blob列的所有50个拇指,但是使用LINQ我选择所有行,所以它们将全部加载到内存中?)。 / p>