首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java存储公钥mysql?

如何使用Java存储公钥mysql?
EN

Stack Overflow用户
提问于 2012-07-11 04:25:25
回答 2查看 1.8K关注 0票数 1

我需要将公钥存储在我的MySQL DB中。我有以下几点:

代码语言:javascript
复制
 rsaModulus=rsaPk.getModulus();

方法getModulus()返回BigInt。但是,当我使用preparedstatement来插入表中的值时,我找不到合适的方法(例如,类似于toStringtoInt)。我需要检索这个公钥,并在稍后进行一些数学计算。这就是为什么,我不认为将其存储为字符串是一个好主意。此外,由于DB中的字段定义为BigInt,因此toLong不起作用。这个问题有什么解决办法吗??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 05:14:13

像密钥和证书这样的文件通常以位数组的形式存储。这可以通过blob列来完成。

Mysql文档显示了这些java类型和mysql类型之间的关系:http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-type-conversions.html

如果您能够将您的公钥作为byte[]获取,请像下面这样使用示例代码:

代码语言:javascript
复制
...
   InputStream is = PapelServiceTest.class.getResourceAsStream("MY_FILE_HERE");
   byte[] pkBytes = IOUtils.toByteArray(is);

   String query = "INSERT INTO my_table (my_key_col) VALUES (?)";
   PreparedStatement pstat = conn.prepareStatement(query);
   pstat.setBytes(1, pkBytes);
   pstat.execute();
...
票数 0
EN

Stack Overflow用户

发布于 2012-07-11 04:35:53

这个线程有一个使用BLOB的有趣的变通方法。

Store BigInteger into Mysql

也许你可以用它。

PS。下一次,请先搜索:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11421377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档