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