Atitit.rsa密钥生成器的attilax总结

1.1. 密钥生成器 1

1.2. 生成固定的密钥 2

1.2.1.
设置或重置 SecureRandom
对象的随机数种子 2

1.3. 密钥结构 2

1.1. 密钥生成器

public static Map<String,
Object>  initKey2(String md5_deta)
throws Exception{

/** RSA算法要求有一个可信任的随机数源 */

SecureRandom
secureRandom=  SecureRandom.getInstance("12345678");

//实例化密钥对生成器

KeyPairGenerator keyPairGen=KeyPairGenerator.getInstance(KEY_ALGORITHM);

// 初始化密钥对生成器

//keyPairGen.initialize(KEY_SIZE);

// 初始化的时候固定随机源的值

keyPairGen.initialize(KEY_SIZE,
secureRandom);

// 生成密钥对

KeyPair keyPair=keyPairGen.generateKeyPair();

//公钥

RSAPublicKey publicKey=(RSAPublicKey)keyPair.getPublic();

//私钥

RSAPrivateKey privateKey=(RSAPrivateKey)
keyPair.getPrivate();

// 得到公钥字符串

//   String publicKeyString = Base64.encode(publicKey.getEncoded());

// 得到私钥字符串

//   String privateKeyString = Base64.encode(privateKey.getEncoded());

// 封装密钥

Map<String, Object> keyMap=new HashMap<String,Object>(2);

keyMap.put(PUBLIC_KEY,
publicKey);

keyMap.put(PRIVATE_KEY,
privateKey);

return keyMap;

}

1.2. 生成固定的密钥

1.2.1. 设置或重置
SecureRandom 对象的随机数种子

除非调用程序在调用 getInstance 方法后接着调用 setSeed 方法,否则
SecureRandom 实现方法将会完全使发生器的内部状态随机化:

SecureRandom
secureRandom=  new SecureRandom("fixx".getBytes("gbk"));

// 初始化的时候固定随机源的值

keyPairGen.initialize(KEY_SIZE,
secureRandom);

方法

SecureRandom
secureRandom=new SecureRandom();

secureRandom.setSeed(1235);

1.3. 密钥结构

pubkey_md5:A603B693B6BB434FA3004B7618F3B9BB

{

"RSAPublicKey":{

"algorithm":"RSA",

"algorithmId":{

"name":"RSA",

"oID":{}

},

"encoded":"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIQqS1ReGEE/ySM+PyZxS41HzDBul0xIkscNkqd+qZejQ3r2LmUw4BYoTC7CHsFjwk6V/a0Imwz3KsvtsOffii8CAwEAAQ==",

"encodedInternal":"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIQqS1ReGEE/ySM+PyZxS41HzDBul0xIkscNkqd+qZejQ3r2LmUw4BYoTC7CHsFjwk6V/a0Imwz3KsvtsOffii8CAwEAAQ==",

"format":"X.509",

"modulus":6922053815168845700711519855384250277549407002769104068590208637227720690525493166882866757882836951436668086793282219943697989363887338835452201051064879,

"publicExponent":65537

},

"RSAPrivateKey":{

"algorithm":"RSA",

"algorithmId":{"$ref":"$.RSAPublicKey.algorithmId"},

"crtCoefficient":12637801240537467651180025414810617094531052210139246616910795005297730540027,

"destroyed":false,

"encoded":"MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAhCpLVF4YQT/JIz4/JnFLjUfMMG6XTEiSxw2Sp36pl6NDevYuZTDgFihMLsIewWPCTpX9rQibDPcqy+2w59+KLwIDAQABAkBNu1Zcw46+aZaR/N1FbeMCsBSe85xWyGRTYF891dhHD21HERkZyfm4BooN0VjKohPbatUmRazWfuGKc9hap7Y5AiEAwfjL1el1zq+YOlTqKsJ5oF8/b+55SLD4dasZpAvC+S0CIQCubcsND+yJrFMFDNyQoY+w2GZuEegDQ3gs37R6N4TySwIgSJZfSTylbmQ9tk6Clt/R/hbGuY9nabF4OSh/Xulb3D0CIB2VO2nUuI5E7rOdkc7px7/7g6vJV6suBzS9IBPWVLLvAiAb8L307PiDD9i/IvEbM8uz7RC+YRUr4DNRx66jEkBR+w==",

"format":"PKCS#8",

"modulus":6922053815168845700711519855384250277549407002769104068590208637227720690525493166882866757882836951436668086793282219943697989363887338835452201051064879,

"primeExponentP":32832209798077781373384495608799993732908171300012237207496150976697489677373,

"primeExponentQ":13380742877797692883283997671823302246667615946650995680559515864045072986863,

"primeP":87735964670198717955861353260506633609525089601993964928345575802643155188013,

"primeQ":78896423390213891002409658607133041775965411272664534765346737848126131204683,

"privateExponent":4071143999659477204234638949384102521448065869993059131846279077802500786064340926073856151160133264216762031129885857399234406337799168487767767633081913,

"publicExponent":65537

}

}

取模运算符“%”的作  modulus

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

Atitit.rsa密钥生成器的attilax总结的更多相关文章

  1. Atitit RSA非对称加密原理与解决方案

    Atitit RSA非对称加密原理与解决方案 1.1. 一.一点历史 1 1.2. 八.加密和解密 2 1.3. 二.基于RSA的消息传递机制  3 1.4. 基于rsa的授权验证机器码 4 1.5. ...

  2. Java与.NET兼容的RSA密钥持久化方法

    默认情况下,.NET生成的RSA密钥对可以用XML或字节流来保存,而JAVA中生成的RSA密钥对只能用字节流来保存.而它们的字节流格式不同,就导致Java中生成的RSA密钥对不能在.NET中使用,而. ...

  3. atitit.词法分析的实现token attilax总结

    atitit.词法分析的实现token attilax总结 1. 词法分析(英语:lexical analysis)跟token 1 1.1. 扫描器 2 2. 单词流必须识别为保留字,标识符(变量) ...

  4. Atitit 管理原理与实践attilax总结

    Atitit 管理原理与实践attilax总结 1. 管理学分类1 2. 我要学的管理学科2 3. 管理学原理2 4. 管理心理学2 5. 现代管理理论与方法2 6. <领导科学与艺术4 7. ...

  5. Atitit 图像处理的摩西五经attilax总结

    Atitit 图像处理的摩西五经attilax总结 1. 数字图像处理(第三版)1 2. 图像处理基础(第2版)(世界著名计算机教材精选)1 3. 计算机视觉特征提取与图像处理(第三版)2 4. Op ...

  6. Atitit opencv版本新特性attilax总结

    Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...

  7. Atitit MATLAB 图像处理 经典书籍attilax总结

    Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...

  8. Atitit 图像处理类库大总结attilax qc20

    Atitit 图像处理类库大总结attilax qc20 1.1. 选择与组合不同的图像处理类库1 1.2. Halcon 貌似商业工具,功能强大.1 1.3. Openvc  Openvc功能也是比 ...

  9. Atitit osi tcp ip 对应attilax总结

    Atitit osi tcp ip 对应attilax总结 Atitit 网络摄像机又叫IP CAMERA(简称IPC)常见的协议组合 网络摄像机又叫IP CAMERA(简称IPC)由网络编码模块和模 ...

随机推荐

  1. java jdk动态代理

    在面试的时候面试题里有一道jdk的动态代理是原理,并给一个事例直接写代码出来,现在再整理一下 jdk动态代理主要是想动态在代码中增加一些功能,不影响现有代码,实现动态代理需要做如下几个操作 1.首先必 ...

  2. 最喜欢的算法(们) - Levenshtein distance

    String Matching: Levenshtein distance Purpose: to use as little effort to convert one string into th ...

  3. 解决Chrome重启后插件被禁用的问题

      下载组策略模版,添加白名单 http://pan.baidu.com/s/1o88kcZo 打开组策略 win+r 打开运行,输入 gpedit.msc 添加模版 右键 ->管理模版 -&g ...

  4. ExtJS 列表数据编辑

    在ExtJs中,GridPanel一般用于展示列表数据.同时利用一些附加的插件也能编辑数据.类似于asp.net中的DataGridView控件. 展示数据比较简单,利用Store则可以自动展示,只要 ...

  5. 用UEFI安装ArchLinux 20140105

    为了在E431上用UEFI安装Arch一个晚上重装了5,6次系统,整整做了一个通宵,还好是周六.今天刚好有时间正好 来总结一下.因为要用UEFI来安装,所以安装了两次之后发现UEFI环境变量不可用(用 ...

  6. 安装RPM包或者安装源码包

    本系列的博客来自于:http://www.92csz.com/study/linux/ 在此,感谢原作者提供的入门知识 这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己 ...

  7. http://blog.sina.com.cn/s/blog_4c3b6a070100etad.html

    http://blog.sina.com.cn/s/blog_4c3b6a070100etad.html

  8. SELECT TOP 100 PERCENT 不按后面的order by 排序

    项目中,由于需要把3个状态的任务合并显示,并且按照任务由近及远的顺序排序,类似于下面的语句 order by taskid desc )m union all order by taskid desc ...

  9. 使用Ant自动化我们的java项目生成

    现在我们已经了解如何定义属性.依赖关系以及如何运行ant,接下来我们将学习怎样使用ant编译java源代码并生成jar文件. 编译源代码 由于Ant的主要目标就是生成java应用程序,它内置了java ...

  10. OSX 下搭建Asp.Net vNext的开发环境

    开年第一天,按照惯例逛逛各个网站,看看7天有没有什么错过的东西,偶见VS 2015的CPT 6发布了,据说更新ASP.NET,就顺便去官方网站看了看,也忘记在什么地方偶然发现一个叫OmniSharp的 ...