我正在尝试实现变异加密算法(理论上由我开发)并作为需求的一部分,我需要生成一个RSA密钥对并将其存储在数据库中,以便以后作为加密过程的一部分进行检索(仅用于加密会话密钥,以便可以使用加密的消息安全地发送它.

我尝试生成一个RSA密钥对似乎工作,但它一遍又一遍地生成相同的值,而不是每次运行代码时都给出新的对.我做错了什么?

如果这些值依赖于机器本身(从而显示相同的值),还有一种方法可以将密钥对生成链接到所提供的电子邮件地址,这样每次输入新的电子邮件地址时,都会输出不同的RSA密钥对?

以下代码是我尝试生成密钥对:

import java.security.*;

import java.security.*;

/**

* @author Speedy gonzales

*/

public class test {

public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");

keyGen.initialize(1024);

byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();

StringBuffer retString1 = new StringBuffer();

retString1.append("[");

for (int puk = 0; puk < publicKey.length; ++puk) {

retString1.append(publicKey[puk]);

// retString1.append(", ");

}

retString1 = retString1.delete(retString1.length()-2,retString1.length());

retString1.append("]");

System.out.println(retString1);

byte[] privateKey = keyGen.genKeyPair().getPrivate().getEncoded();

StringBuffer retString2 = new StringBuffer();

retString2.append("[");

for (int pri = 0; pri < privateKey.length; ++pri) {

retString2.append(privateKey[pri]);

// retString2.append(", ");

}

retString2 = retString2.delete(retString2.length()-2,retString2.length());

retString2.append("]");

System.out.println(retString2);

}

}

谢谢

java rsa 存数据库_java – 如何创建RSA密钥对以便将其存储在数据库中?相关推荐

  1. java从端口获取数据库_Java之通过接口获取数据并用JDBC存储到数据库中

    最近做数据同步功能,从接口获取数据然后存到数据库中以便后续对数据进行相关操作,下面就贴一下相关代码. 1 import com.alibaba.fastjson.JSON; 2 import com. ...

  2. java 数据库 空值_java – 是否可以将枚举属性的空值存储到数据库?

    我试图使用JPA TopLink将 Java中实体的枚举属性的null值存储到Oracle数据库.代码执行时没有异常或警告,但实体未存储在数据库中. 该实体定义如下: @Entity public c ...

  3. 数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)

    一.利用写好的数据库表生成创建表的sql语句 1.简单创建一个数据库,并建一个表,并编辑数据. a.建库 b.建表 c.编辑表,保存时输入表名 d.刷新一下,出来了 e.转存导出sql文件. 二.利用 ...

  4. java excel 展开折叠_Java 刷新Excel透视表,折叠/展开Excel透视表中的行

    概述 透视表是依据已有数据源来创建的交互式表格,我们可在excel中创建透视表,也可编辑已有透视表. 所需工具:Free Spire.XLS for Java免费版,编辑代码前,先下载导入jar到Ja ...

  5. oracle数据库中用sql拼接字符串和转成clob存储在数据库中

    1.转成字符串,存储到数据库中 -- B.DESCRIPT73,为需要转换的字段 --||'<br />'则代表在需要转换的字段后面拼接上一个换行符,存到数据库中 select F.POL ...

  6. java rsa 公钥格式_JAVA,NET RSA密钥格式转换

    JAVA和NET RSA密钥格式相互转换(公钥,私钥) 做了一个小项目遇到java和.net非对称加密问题,java的公钥和私钥就直接是一个字符串的形式展示的,但是.net是以xml简单包裹形式展示的 ...

  7. JAVA mysql存数组_JAVA数组怎么存放数据库的元素

    Stringsql="selectidfrombuildingwherenumber>=?";Stringparas[]={number};sp=newSqlHelper() ...

  8. sql java 创建数据库_java动态创建数据库(sql server)

    public static void main(String[] args) { // TODO Auto-generated method stub String url = "jdbc: ...

  9. java 反编译 类名_java javassist创建类和反编译类

    public class Byte { public static void main(String[] args) throws Exception { //获得类池 ClassPool pool= ...

最新文章

  1. 根据c语言数组定义填写下表,C语言程序设计 自测题(三)
  2. 一文轻松了解Graph Neural Networks
  3. vc关于dialog绘图闪屏和多层覆盖的处理方法
  4. 基于linux的java学习,Java学习---Linux总结
  5. 数据结构--快速排序
  6. EelemntUI中e-form表单校验的使用以及表单校验的规则
  7. 基本算法--希尔排序
  8. vue 关闭弹如何销毁子组件_vue中的eventBus会产生内存泄漏吗
  9. Spring第三篇【Core模块之对象依赖】
  10. 通信系统概论_现代通信系统概论 第一章 概述(1)
  11. 关于C语言include尖括号和双引号的对话
  12. 广告点击率预测_用于广告点击率预测的逻辑回归你会了吗?
  13. vue的v-for循环普通数组、对象数组、对象、数字
  14. 毕啸南专栏 | 对话阿里王坚:数据价值是新大陆,新技术将重构互联网
  15. java求1到100素数的和_求解JAVA题:求出1~100中所有质数?,求一段java代码,题目是求1到100之间所有质数和?...
  16. 集成测试和单元测试覆盖率合并
  17. django3.x+DRF+simpleui+uniapp打造自己的任务推广(兼职、悬赏)平台
  18. linux gmac10下载,ethmac10g verilog代码 10G eth mac verilog代码参考下载 - 下载 - 搜珍网...
  19. 关于程序员秃顶和预防的小知识
  20. java jit_Java的JIT

热门文章

  1. java 按钮不显示文字_java – 使JButton中的文本不可见
  2. mysql binlog 丢失_mysql数据库binlog丢失引起的问题
  3. carbon 一天的开始 结束_情话文案:朋友圈背景图丨2020国庆最后一天朋友圈的说说文案 修炼七天的你,是否准备就绪?...
  4. hdl四位二进制计数器_四位二进制计数器这样接成十进制计数器
  5. android图片gif动画效果,android中类似于gif 实现图片的动画效果
  6. linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!
  7. 建模步骤_Revit软件介绍?Revit参数化构件建模步骤
  8. LL1分析构造法_数学建模算法--最优赋权法(含代码)
  9. cpu飙升 死循环_记一次CPU飙升BUG
  10. C# 四舍五入round函数使用的代码