将加密密钥存储在数据库中

时间:2013-03-30 10:12:26

标签: c# encryption

我有两个Windows手机应用程序。第一个应用程序向服务器发送数据,第二个应用程序(主)从服务器读取数据数据用Rijndael加密。两个应用程序都在应用程序设置中保存了加密但我正在考虑将加密密钥存储在DB中。是在DB中保存它的好地方吗?

1 个答案:

答案 0 :(得分:1)

如果您随机生成密钥,则无法在两个应用程序之间共享密钥,因为两个应用程序无法访问Windows Phone上的相同存储。 这意味着你必须将密钥存储在一个在线数据库中,但是我不明白你为什么要记录它,因为密钥可以很容易地访问。

如果您始终使用相同的密钥,则可以在应用中对其进行硬编码并尝试对其进行模糊处理。即使我认为这不起作用。

如果您根据手机硬件生成密钥,就像它的mac地址一样,您宁愿保存,但它不能用于两种不同的手机。

我会根据您的用户选择的用户名/密码生成您的密钥,这样就可以保存并使用不同的手机。

所以,我不会将密钥保存在数据库中。

如果您只是谈论加密密钥并使用类似RSA的东西需要不同的解密密钥...只需将它们存储在应用程序中,那么您的Sevr-Client流量就会减少。