当前位置: 首页 > news >正文

建设银行网站多少关于网站建设的求职意向

建设银行网站多少,关于网站建设的求职意向,网站集群 建设方案,排版设计图片模板背景:服务端使用Java开发的,接口需要客户端传一个RSA公钥,手机端使用Flutter开发的,然后就选择使用 pointycastle 生成密钥,很不巧,dart版本不像Java一样有个可以直接获取编码过的公钥信息的方法&#xff1…

背景:服务端使用Java开发的,接口需要客户端传一个RSA公钥,手机端使用Flutter开发的,然后就选择使用 pointycastle 生成密钥,很不巧,dart版本不像Java一样有个可以直接获取编码过的公钥信息的方法:publicKey.getEncoded() ,dart 版本的 RSAPublicKey 只有 modulus 和 publicExponent,需要自行编码。

大概研究了一下,数据是使用ASN1,于是看了下Java编码前的数据结构是什么样子的(当然,也可以看相关的技术文档,我一时半会儿没找到,也懒得找),项目需要添加下面的依赖:

<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk18on</artifactId><version>1.78.1</version>
</dependency>

使用下面的Java代码,打印出来,结构一目了然: 

import org.bouncycastle.asn1.*;import java.io.IOException;
import java.security.*;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;public class Main {public static void main(String[] args) throws NoSuchAlgorithmException {KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");keyPairGenerator.initialize(2048);KeyPair keyPair = keyPairGenerator.generateKeyPair();RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();System.out.printf("publicKey Algorithm: %s, format: %s\n", publicKey.getAlgorithm(), publicKey.getFormat());System.out.println("PublicKey Info:");System.out.println("\tModulus: " + publicKey.getModulus());System.out.println("\tPublic Exponent: " + publicKey.getPublicExponent());parseASN1(publicKey.getEncoded(), 0);System.out.println();System.out.printf("privateKey Algorithm: %s, format: %s\n", privateKey.getAlgorithm(), privateKey.getFormat());System.out.println("PrivateKey Info:");System.out.println("\tModulus: " + privateKey.getModulus());System.out.println("\tPrivate Exponent: " + privateKey.getPrivateExponent());parseASN1(privateKey.getEncoded(), 0);}private static void parseASN1(byte[] data, int indent) {try (ASN1InputStream asn1InputStream = new ASN1InputStream(data)) {ASN1Primitive primitive;while ((primitive = asn1InputStream.readObject()) != null) {parseASN1Encodable(primitive, indent);}} catch (IOException e) {throw new RuntimeException(e);}}private static void parseASN1Encodable(ASN1Encodable primitive, int indent) {printIndent(indent);if (primitive instanceof ASN1Sequence) {System.out.println("ASN1Sequence:");((ASN1Sequence) primitive).forEach(e -> parseASN1Encodable(e, indent + 1));} else if (primitive instanceof ASN1BitString) {System.out.println("ASN1BitString");parseASN1(((ASN1BitString) primitive).getOctets(), indent + 1);} else if (primitive instanceof ASN1OctetString) {System.out.println("ASN1OctetString");parseASN1(((ASN1OctetString) primitive).getOctets(), indent + 1);} else if (primitive instanceof ASN1Integer) {ASN1Integer asn1Integer = (ASN1Integer) primitive;System.out.printf("ASN1Integer: %s\n", asn1Integer.getValue());} else if (primitive instanceof ASN1ObjectIdentifier) {ASN1ObjectIdentifier asn1ObjectIdentifier = (ASN1ObjectIdentifier) primitive;System.out.printf("OID: %s\n", asn1ObjectIdentifier.getId());} else if (primitive instanceof DERNull){System.out.println("DERNull");} else {System.out.println("primitive Class: " + primitive.getClass());System.out.println("primitive: " + primitive);}}private static void printIndent(int tabCount) {for (int i = 0; i < tabCount; i++) {System.out.print('\t');}}
}

dart版本对公钥进行编码的代码写在另一篇文章了:Flutter RSA公钥转PEM​​​​​​​ 

http://www.yayakq.cn/news/59222/

相关文章:

  • 设计师网站崩了新闻发布网站建设实训小结
  • 网站维护中 页面网站框架设计图
  • 艾纳网站建设深圳做微信网站
  • frontpage网站模板下载wordpress 上传错误
  • 蒙自做网站的公司有什么网站可以做编程题
  • 新乡河南网站建设展台设计展会展位设计
  • 做网站怎样做才有百度快照苏州网站制作价格
  • 网站seo优化是什么意思系统开发网站
  • html网站设计作品wordpress 判断页面名称
  • 哪个网站的体验做的最好东莞网站建设兼职
  • 厦门网站专业建设二手车网站开发过程
  • 集团网站建设特色在线制作gif
  • 有没有做网站的广州品牌设计
  • 河南生产型企业网站建设自己动手建设网站
  • 房产中介 网站开发上海如何做网站
  • 东莞网站搭建哪里好温州自助建站公司
  • 十大免费ppt课件网站关键词点击工具
  • 专门做橱柜衣柜效果图的网站百度如何收录网站
  • 做服装网站设计书软文宣传推广
  • phpcms v9做网站wifi小程序搭建
  • 旅游网站优化方案wordpress gif 压缩
  • 织梦网站后台管理教程广州公司注册流程及需要的材料
  • wordpress制作的网站怎么把网站放到服务器
  • 长沙 建站优化东丽区做网站
  • 前端做网站步骤wordpress iis 伪静态
  • 葫芦岛住房和城乡建设厅网站淮南医院网站建设
  • 企业 网站规划与网页设计word济南建设个人网站平台
  • wordpress 背景图片电商网站seo公司
  • 企业模板建站有哪些单页应用seo如何解决
  • 只做衬衫的网站百度收录删除旧网站