Java 在数据库中存储secretkey并检索它

Java 在数据库中存储secretkey并检索它,java,encryption,Java,Encryption,我正在做一个关于使用AES算法进行密码加密和解密的项目。 我需要将SecretKeySpec类型的密钥存储在数据库(ms access)中并检索它。 我该怎么做? 我在oletype object类型的数据库中创建了一列。 我正在使用一个查询: String query="insert into encrypt values(?)"; 如何在查询中设置参数?据我所知,Access支持类型OLE Object来存储MS文档和二进制数据,如图片、声音或其他二进制数据。约束条件是“它们必须在使用OL

我正在做一个关于使用AES算法进行密码加密和解密的项目。 我需要将SecretKeySpec类型的密钥存储在数据库(ms access)中并检索它。 我该怎么做? 我在oletype object类型的数据库中创建了一列。 我正在使用一个查询:

String query="insert into encrypt values(?)";

如何在查询中设置参数?

据我所知,Access支持类型OLE Object来存储MS文档和二进制数据,如
图片、声音或其他二进制数据。约束条件是“它们必须在使用OLE协议的其他程序中创建,可以链接或嵌入Microsoft Access表。必须在窗体或报表中使用绑定对象框来显示OLE对象。


我建议您使用MS SQL Server或MySQL(引擎),这样您就可以更高效地执行许多完整性检查一致性检查。MySQL提供了一种使用
BLOB
类型存储二进制值的方法。SQL Server提供了用于相同目的的
binary
varbinary

最好的方法是使用
PreparedStatement
,例如:

PreparedStatement ps = connection.prepareStatement("insert into encrypt values (?)");
ps.setBytes(1, rawKeyBytes);
ps.execute();
我建议您不要使用
oletype
;也许最好把它做成一团。请记住,键只是一个字节数组。不要尝试存储
SecretKeySpec
-而是存储原始密钥字节。

重复: