欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用BouncyCastle加密

 更新時(shí)間:2023年06月16日 09:32:15   作者:末日流云18  
本文主要介紹了Java使用BouncyCastle加密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、為什么要使用BouncyCastle?

我們平常都使用jdk自帶的加密包對(duì)數(shù)據(jù)進(jìn)行加密,加密方式也都是使用的默認(rèn)的,如果我們想選擇別的加密方式,發(fā)現(xiàn)會(huì)報(bào)錯(cuò),比如如下代碼:

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".getBytes("UTF-8"), "AES"));
cipher.doFinal("QWEASDZS".getBytes("UTF-8"));

這時(shí)候我們就需要借助BouncyCastle了。

2、如何使用BouncyCastle?

2.1、方式一

(1)去BouncyCastle官網(wǎng)下載provider的包,然后放入$JAVA_HOME\jre\lib\ext目錄下;

(2)修改配置文件$JAVA_HOME\jre\lib\security\java.security,加入一行配置:security.provider.按順序填數(shù)字=org.bouncycastle.jce.provider.BouncyCastleProvider

(3)代碼如下:

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".getBytes("UTF-8"), "AES"));
cipher.doFinal("QWEASDZS".getBytes("UTF-8"));

2.2、方式二

(1)在代碼中通過(guò)maven引入BouncyCastle的包

<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.56</version>
</dependency>

(2)無(wú)需像方式一一樣修改配置文件,直接在代碼中手動(dòng)添加provider:

Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".getBytes("UTF-8"), "AES"));
cipher.doFinal("QWEASDZS".getBytes("UTF-8"));

3、注意點(diǎn)

出于某些原因,可能需要去官網(wǎng)下載JCE包,替換掉$JAVA_HOME\jre\lib\security目錄下的內(nèi)容,其次密鑰的長(zhǎng)度也要注意。

到此這篇關(guān)于Java使用BouncyCastle加密的文章就介紹到這了,更多相關(guān)Java BouncyCastle加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java深入淺出數(shù)組的定義與使用下篇

    Java深入淺出數(shù)組的定義與使用下篇

    數(shù)組是有序的元素序列,若將有限個(gè)類(lèi)型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。組成數(shù)組的各個(gè)變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量。數(shù)組是在程序設(shè)計(jì)中,為了處理方便,?把具有相同類(lèi)型的若干元素按有序的形式組織起來(lái)的一種形式
    2022-03-03
  • jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解

    jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解

    這篇文章主要介紹了jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解

    Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解,當(dāng)一個(gè)對(duì)象發(fā)生數(shù)據(jù)變化時(shí),通知其他相關(guān)的一系列對(duì)象,接受到通知的對(duì)象根據(jù)該對(duì)象的變化進(jìn)行相應(yīng)處理以響應(yīng)變化的過(guò)程,需要的朋友可以參考下
    2023-12-12
  • Java中對(duì)list map根據(jù)map某個(gè)key值進(jìn)行排序的方法

    Java中對(duì)list map根據(jù)map某個(gè)key值進(jìn)行排序的方法

    今天小編就為大家分享一篇Java中對(duì)list map根據(jù)map某個(gè)key值進(jìn)行排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Spring Boot 2 整合 QuartJob 實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理功能

    Spring Boot 2 整合 QuartJob 實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理功能

    Quartz是一個(gè)完全由java編寫(xiě)的開(kāi)源作業(yè)調(diào)度框架,形式簡(jiǎn)易,功能強(qiáng)大。接下來(lái)通過(guò)本文給大家分享Spring Boot 2 整合 QuartJob 實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理功能,感興趣的朋友一起看看吧
    2019-11-11
  • Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決

    Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決

    本文主要介紹了Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Springboot處理跨域的實(shí)現(xiàn)方式(附Demo)

    Springboot處理跨域的實(shí)現(xiàn)方式(附Demo)

    這篇文章主要介紹了Springboot處理跨域的實(shí)現(xiàn)方式(附Demo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java中匿名類(lèi)的兩種實(shí)現(xiàn)方式

    Java中匿名類(lèi)的兩種實(shí)現(xiàn)方式

    本文主要介紹了Java中匿名類(lèi)的兩種實(shí)現(xiàn)方式。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 學(xué)好Java?MyBatis攔截器,提高工作效率

    學(xué)好Java?MyBatis攔截器,提高工作效率

    這篇文章主要介紹了Java中的?MyBatis攔截器,??Mybatis攔截器設(shè)計(jì)的初衷就是為了供用戶在某些時(shí)候可以實(shí)現(xiàn)自己的邏輯而不必去動(dòng)Mybatis固有的邏輯。詳細(xì)內(nèi)容需要的小伙伴可以參考下面文章內(nèi)容,希望對(duì)你有所幫助
    2022-02-02
  • 如何設(shè)計(jì)一個(gè)安全的API接口詳解

    如何設(shè)計(jì)一個(gè)安全的API接口詳解

    在日常開(kāi)發(fā)中,總會(huì)接觸到各種接口,前后端數(shù)據(jù)傳輸接口,第三方業(yè)務(wù)平臺(tái)接口,下面這篇文章主要給大家介紹了關(guān)于如何設(shè)計(jì)一個(gè)安全的API接口的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評(píng)論