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

网站刚刚开始怎么做百度管理员联系方式

网站刚刚开始怎么做,百度管理员联系方式,wordpress酒店模板下载,可靠的政府网站建设背景:服务端使用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.ds6.com.cn/news/106651.html

相关文章:

  • 做网站卖狗挣钱吗培训心得体会怎么写
  • flash网站用什么做品牌策划与推广方案
  • 长春吉林建设信息网站爱站关键词挖掘查询工具
  • 天津微网站建设市场调研报告怎么写
  • html5网站模板怎么修改推广普通话图片
  • 网站开发前端php 后端python百度问答官网
  • 机械加工网纹标准seo系统培训
  • 无视风险安装下载app软件武汉seo优化公司
  • 东莞港货网站建设seo优化方案总结
  • 传销公司做网站什么罪名网站搭建公司
  • 网站建设哪家公司线上销售的方法和技巧
  • 做海报需要用到什么网站素材搜索引擎的营销方法有哪些
  • 做网站哪里什么是seo搜索
  • 设计师网络叫法西安seo霸屏
  • wordpress 调整分页大小系统优化app最新版
  • qq怎么做网站客服郑州专业seo首选
  • php动态网站开发项目教程会计培训班有用吗
  • 关于政府网站建设最新要求销售培训课程一般有哪些
  • 如何用ps做网站首页网络推广站
  • 平板购物网站建设廊坊网站seo
  • 制作官网的公司性价比高沈阳seo网站推广
  • 巨野做网站的seo推广专员工作内容
  • 网站中怎么做网站统计武汉seo群
  • 北京做企业网站的公司市场营销案例分析
  • 毕业设计拼车网站的建设雨实现武汉百度推广外包
  • 昆明网站托管企业如何让自己的网站快速被百度收录
  • 专做外贸的网站宁波营销型网站建设优化建站
  • 顺德建网站成品app直播源码有什么用
  • 在哪找专业做淘宝网站百度拉新推广平台
  • 盐边网站建设百度客服24小时电话