我是密码学的新手,我正在学习如何在Java中使用Bouncy Castle进行加密。
我知道Python有我使用的Crypto-Charm
import charm.toolbox.ecgroup
serializedKey = charm.toolbox.ecgroup(prime192v1).deserialize(keyInBytes)
我如何为Java做同样的事情?
答案 0 :(得分:0)
试试这个:
反序列化:
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());
答案 1 :(得分:0)
此参考资料对于理解不同的代码编码示例很有用 https://www.bouncycastle.org/fips-java/BCFipsIn100.pdf。
在章节中
<块引用>基于密码的加密和密钥存储
在这个部分
<块引用>编码公钥和私钥
有一些例子可以帮助您获得想法。