java生成椭圆曲线_java – 使用给定私钥在椭圆曲线算法中生成公钥的代码

我写了一个示例程序,输出以下内容:

FL261:java jvah$javac -cp bcprov-ext-jdk15on-149.jar ECTest.java

FL261:java jvah$java -cp bcprov-ext-jdk15on-149.jar:. ECTest

Private key: 7ba78909571fbc336b2b94054dfb745a6b0776ff36a8fa98a598dc32cb83cc8e

Public key: 035b9e4a6148c9f9b08b573871ac66a832e6e9f63cf117545523a45b8017b7c43f

Calculated public key: 035b9e4a6148c9f9b08b573871ac66a832e6e9f63cf117545523a45b8017b7c43f

Congratulations, public keys match!

FL261:java jvah$

代码应该足够清楚,以便您可以理解这里所做的事情.请注意,您必须知道为您的私钥生成哪条曲线,否则无法生成匹配的公钥.示例代码使用secp256r1曲线,这是很常用的.

import java.math.BigInteger;

import java.security.SecureRandom;

import org.bouncycastle.asn1.x9.X9ECParameters;

import org.bouncycastle.asn1.sec.SECNamedCurves;

import org.bouncycastle.crypto.AsymmetricCipherKeyPair;

import org.bouncycastle.crypto.params.ECDomainParameters;

import org.bouncycast

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值