栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用BouncyCastle在Java中使用ECIES进行加密

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用BouncyCastle在Java中使用ECIES进行加密

请尝试以下操作:

// add instance of provider classSecurity.addProvider(new BouncyCastleProvider());String name = "secp256r1";// NOTE just "EC" also seems to work hereKeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDH", BouncyCastleProvider.PROVIDER_NAME);kpg.initialize(new ECGenParameterSpec(name));// Key pair to store public and private keyKeyPair keyPair = kpg.generateKeyPair();Cipher iesCipher = Cipher.getInstance("ECIES", BouncyCastleProvider.PROVIDER_NAME);iesCipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic());

请注意,通常,在尝试通过JCE使用Bouncy时,最好保留JCE类而不是Bouncy Castle类。在这种情况下,问题可能出在提供给密钥生成器的参数上。

在上面的代码中,我使用了,

BouncyCastleProvider.PROVIDER_NAME
但是
"BC"
当然可以很好地工作。尽管应该不影响最终结果,但每次都重新初始化提供者不是一个好主意。


确保您具有最新的系统来运行此代码。该代码已在以下系统上经过测试:

 --- runtime information --- Properties:    java.vendor     : Oracle Corporation    java.specification.name    : Java Platform API Specification    java.specification.version : 1.8    java.runtime.name          : Java(TM) SE Runtime Environment    java.runtime.version       : 1.8.0_65-b17    java.vm.name    : Java HotSpot(TM) 64-Bit Server VMUnlimited crypto: yes --- info for provider Bouncy Castle --- Bouncy Castle version: 1.520000Bouncy Castle provider registered: yes


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/617212.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号