加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

循序渐进学加密

发布时间:2019-06-26 17:29:10 所属栏目:建站 来源:张京
导读:还记得上初二的那年炎天,班里来了一个新同窗,他就住在我家扑面的楼里,于是我们一路上学下学,很快便成了最要好的伴侣。我们抉择发现一套隐秘的雷同方法,任何人看到都不行能猜到它的真实寄义。我们第一个想到的就是汉语拼音,但很显然光把一个句子酿成

对付私钥,由于Java只支持PKCS8,而我们用ssh-keygen天生的私钥是pkcs1的,以是还必要用以下呼吁把pkcs1的私钥转换为pkcs8的私钥:

  1. openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in 私钥文件名 -out 导出文件名 

获得pkcs8名目标私钥之后,我们把这个文件的头和尾去掉,然后放入以下Java代码:

  1. try { 
  2.     Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding"); 
  3.     cipher.init(Cipher.DECRYPT_MODE, KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(Base64.getDecoder().decode("这里是私钥")))); 
  4.     String plaintext = new String(cipher.doFinal(Base64.getDecoder().decode("这里是密文".getBytes())), "UTF-8"); 
  5.     System.out.println(plaintext); 
  6. } catch (Exception e) { 
  7.     System.out.println("解密堕落:" + e.toString()); 

和上面的AES解密相同,只是增进了KeyFactory读取PKCS8名目私钥的部门,这样我们就完成了Java端的RSA解密。

以上我们用最简朴的方法实现了js端加密,java端解密的进程,感乐趣的伴侣可以在这里下载完备的代码亲身验证一下:

https://github.com/fengerzh/encdec

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读