gpt4 book ai didi

java - PublicKey header 的字符串太长

转载 作者:行者123 更新时间:2023-11-30 10:52:41 26 4
gpt4 key购买 nike

我正在尝试以这种方式从字符串创建公钥:

byte[] keyBytes = Base64.decode(publicKeyStr.getBytes("utf-8"), Base64.DEFAULT);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
PublicKey publicKey = keyFactory.generatePublic(spec);

但是

keyFactory.generatePublic(spec);

导致错误:

java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long

创建 PublicKey form String 的任何其他解决方案和示例?

字符串是:

87Avu4YRFh25mG/5/vW7tFXORD3WYqByKZDHpcqstXKDyLYFtm8arbwXDUxcDRSJUKdZx07L1fGvExfslShssJ22nHA4bScQ7yhgrtsxNUa5NPPP/YlR9DLAnjFzf3AEbW26fLO5luQtDIDmjSvwNE6ZwAIjhRJ3HXpqw2hFMvc=AQAB

最佳答案

我在这里找到了解决方案 RSA. Java Encryption .NET Decryption

问题是我的字符串是一个字符串中的模数 + 指数。当我将它拆分为两个不同的字符串并像那里一样生成时。 key 生成成功。编码 UTF-16LE 也有问题。

关于java - PublicKey header 的字符串太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34299570/

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