【发布时间】:2018-10-13 16:38:45
【问题描述】:
我正在开发一个 Java 加密应用程序。我想使用对称算法(如 AES 或 DES)加密文件,并将 secretKey 存储在数据库中以供将来解密文件。我想知道如何将 SecretKey 对象存储在数据库表中。我应该序列化关键对象吗? (secretKey 是可序列化的。)如何将序列化的对象存储在数据库中?我应该使用什么 MYSQL 数据类型?
另一种解决方案是获取密钥的原始字节[],将其转换为base64并存储在数据库中。我可以稍后将 base64 密钥解码为原始原始密钥,但问题在于将原始密钥转换为 SecretKey 对象。
任何帮助将不胜感激。
【问题讨论】:
-
您需要使用
blob来存储对象,并且对象必须在存储到数据库之前进行序列化。有关更多信息,请参阅此。 stackoverflow.com/questions/2747203/… -
密钥的数据类型是什么
-
使用字符串对象存储密钥。
-
请发给我更新mysql数据库秘钥的代码及使用方法
-
你可能做错了。如果这是长期存储,您可能应该使用 PKI 而不是对称加密。
标签: java mysql encryption cryptography encryption-symmetric