gpt4 book ai didi

java - Android key 对生成

转载 作者:行者123 更新时间:2023-12-02 02:17:15 25 4
gpt4 key购买 nike

OpenSsl 生成一个 DER 格式的私钥,长度为 118 字节。 (openssl ecparam -genkey -name secp256k1 等)。

在 android KeyPairGenerator 中初始化如下:

 KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("ECDSA", "SC");
ECGenParameterSpec spec = new ECGenParameterSpec("secp256k1");
keyPairGenerator.initialize(spec, new SecureRandom());
return keyPairGenerator.generateKeyPair();

返回长度为144的私钥。但我需要118。有什么区别? android实现中是否添加了smh?我怎样才能得到118 key 长度?找不到实现来弄清楚。

最佳答案

找到了一种方法来做到这一点。生成 key 对:

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("ECDSA", "SC");
ECGenParameterSpec spec = new ECGenParameterSpec("secp256k1");
keyPairGenerator.initialize(spec, new SecureRandom());
KeyPair kp = keyPairGenerator.generateKeyPair();

获取私钥字节数组:

byte[] privateK = kp.getPrivate();

然后将私钥转换为PKCS1:

 byte[] privBytes = privateKey.getEncoded();
PrivateKeyInfo pkInfo = PrivateKeyInfo.getInstance(privBytes);
ASN1Encodable encodable = pkInfo.parsePrivateKey();
ASN1Primitive primitive = encodable.toASN1Primitive();
byte[] privBytesEncoded = primitive.getEncoded();

关于java - Android key 对生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49135216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com