我是密码学新手,正在学习如何在 Java 中使用 Bouncy Castle 进行加密。
我知道 Python 有我用过的 Crypto-Charm
import charm.toolbox.ecgroup
serializedKey = charm.toolbox.ecgroup(prime192v1).deserialize(keyInBytes)
我怎样才能为 Java 做同样的事情?
我是密码学新手,正在学习如何在 Java 中使用 Bouncy Castle 进行加密。
我知道 Python 有我用过的 Crypto-Charm
import charm.toolbox.ecgroup
serializedKey = charm.toolbox.ecgroup(prime192v1).deserialize(keyInBytes)
我怎样才能为 Java 做同样的事情?
尝试这个:
反序列化:
KeyFactory keyFactory = KeyFactory.getInstance("EC");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
连载:
byte[] keyBytes = privateKey.getEncoded();
也许您可以在 KeyFactory.getInstance 之前需要此调用(取决于您的 JDK):
Security.addProvider(new BouncyCastleProvider());
此参考可能有用https://www.bouncycastle.org/fips-java/BCFipsIn100.pdf以了解代码编码的不同示例。
在章节
基于密码的加密和密钥存储
在这个部分
编码公钥和私钥
有一些例子可以得到想法。