安装Bouncy Castle(JAVA)

本文介绍了如何在JAVA项目中使用BouncyCastle库来调用Blowfish算法,包括配置步骤、依赖引入和示例代码。适合开发者学习和实践密码学应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公开密码官方库


近期尝试使用JAVA语言的Bouncy Castle库去调用某些加密算法,在此记录使用步骤。

Bouncy Castle

  • BouncyCastle是一种用于 Java 平台的开放源码的轻量级密码术包,支持大量的密码算法,能够提供数字证书转换所需要的类和方法。

一、配置

1.1 jar包下载
  • 官网下载相关jar包
  • 所需jar包:
    • bcprov-jdk15to18-169.jar
    • bcprov-ext-jdk15to18-169.jar
      请添加图片描述
1.2 Jar包路径配置
  • 将上述下载的两个jar包放到到系统JAVA配置路径下
    • 具体为:JAVA/jdk1.8.0_261/jre/lib/ext/ jar包路径
  • 修改配置文件xxx/jdk/jre/lib/security/java.security,相关位置添加security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
    请添加图片描述

1.3 项目调用

  • IDEA创建Java_Project时需在架构中导入对应jar包实现调用。
    请添加图片描述

1.4 测试代码

import javax.crypto.*;

public class test{

    public static final String stringToEncrypt="This is a test.";

    public static void main(String[] args) throws Exception{


        System.out.print("Attempting to get a Blowfish key...");

        KeyGenerator keyGenerator=KeyGenerator.getInstance("Blowfish");

        keyGenerator.init(128);

        SecretKey key=keyGenerator.generateKey();

        System.out.println("OK");


        System.out.println("Attempting to get a Cipher and encrypt...");

        Cipher cipher=Cipher.getInstance("Blowfish/ECB/PKCS5Padding");

        cipher.init(Cipher.ENCRYPT_MODE,key);


        byte[] cipherText=cipher.doFinal(stringToEncrypt.getBytes("UTF8"));

        System.out.println("OK");


        System.out.println("Test completed successfully.");

    }

}

二、资源

Bouncy Castle源码
调用范例

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值