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

Java?Base64?加密與解密示例代碼

 更新時間:2022年12月12日 17:34:42   作者:吳名氏  
基本的加密盡量保持簡單,加密輸入字符串沒有增加任何換行符。輸出被映射到“A-Za-z0-9+/”字符集中,解密從該字符集中解析為任意字符,這篇文章主要介紹了Java?Base64?加密與解密,需要的朋友可以參考下

一、Java 8 基本 Base64

        基本的加密盡量保持簡單,加密輸入字符串沒有增加任何換行符。輸出被映射到“A-Za-z0-9+/”字符集中,解密從該字符集中解析為任意字符

        加密一個簡單字符串,代碼如下:

String originalInput = "test input";
String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes());

        解密代碼如下:

byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);

二、Java 8 URL 加密

        URL加密和上述基本加密類似,它使用URL和文件名安全Base64字母表(沒有‘+’和‘/’,增加‘-’和‘_’),不添加任何換行隔,代碼如下:

String originalUrl = "https://www.google.co.nz/?gfe_rd=cr&ei=dzbFV&gws_rd=ssl#q=java";
String encodedUrl = Base64.getUrlEncoder().encodeToString(originalURL.getBytes());

        解密方式一致——getUrlDecoder() 工具方法返回java.util.Base64.Decoder ,然后解密URL,代碼如下:

byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedUrl);
String decodedUrl = new String(decodedBytes);

三、Java 8 MIME(Multipurpose Internet Mail Extensions) 加密

        首先生成一些基本MIME輸入數(shù)據(jù)用于加密:

private static StringBuilder getMimeBuffer() {
    StringBuilder buffer = new StringBuilder();
    for (int count = 0; count < 10; ++count) {
        buffer.append(UUID.randomUUID().toString());
    }
    return buffer;
}

        MIME加密工具生成Base64加密輸出,輸出被映射到“A-Za-z0-9+/”字符集中,編碼輸出必須以每行不超過76個字符的形式表示,并使用后面跟著的回車符’\r’和換行符’\n’為分隔符,代碼如下:

StringBuilder buffer = getMimeBuffer();
byte[] encodedAsBytes = buffer.toString().getBytes();
String encodedMime = Base64.getMimeEncoder().encodeToString(encodedAsBytes);

        getMimeDecoder() 工具方法返回java.util.Base64.Decoder 用于解密過程:

byte[] decodedBytes = Base64.getMimeDecoder().decode(encodedMime);
String decodedMime = new String(decodedBytes);

四、總結(jié)

        本文介紹了java中Base64加密和解密的基本用法,使用java 8 新引入的API。
        另外還有其他庫實(shí)現(xiàn)類似功能——java.xml.bind.DataTypeConverter 提供的 printHexBinary 和 parseBase64Binary。

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

相關(guān)文章

  • Java 類型相互轉(zhuǎn)換byte[]類型,Blob類型詳細(xì)介紹

    Java 類型相互轉(zhuǎn)換byte[]類型,Blob類型詳細(xì)介紹

    這篇文章主要介紹了Java 類型相互轉(zhuǎn)換byte[]類型,Blob類型的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 一篇文章帶你了解Java SpringMVC返回null

    一篇文章帶你了解Java SpringMVC返回null

    這篇文章主要介紹了Spring MVC返回null,文中講的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-10-10
  • 如何解決java壓縮文件亂碼問題

    如何解決java壓縮文件亂碼問題

    在本篇文章中我們給大家分享的是一篇關(guān)于java壓縮文件亂碼問題的解決辦法,有需要的朋友們可以學(xué)習(xí)下。
    2019-12-12
  • 一文深入了解Java中的AtomicInteger類

    一文深入了解Java中的AtomicInteger類

    AtomicInteger是java并發(fā)包下面提供的原子類,主要操作的是int類型的整型,通過調(diào)用底層Unsafe的CAS等方法實(shí)現(xiàn)原子操作,這篇文章主要給大家介紹了關(guān)于如何通過一文深入了解Java中AtomicInteger類的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • java單例模式實(shí)現(xiàn)面板切換

    java單例模式實(shí)現(xiàn)面板切換

    這篇文章主要為大家詳細(xì)介紹了java單例模式實(shí)現(xiàn)面板切換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • JAVA遍歷Map集合的幾種方法匯總

    JAVA遍歷Map集合的幾種方法匯總

    這篇文章主要給大家介紹了關(guān)于JAVA遍歷Map集合的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 基于MyBatis的簡單使用(推薦)

    基于MyBatis的簡單使用(推薦)

    下面小編就為大家?guī)硪黄贛yBatis的簡單使用(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • httpclient evict操作源碼解讀

    httpclient evict操作源碼解讀

    這篇文章主要為大家介紹了httpclient evict操作源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 深入了解Java File分隔符和Path分隔符的使用

    深入了解Java File分隔符和Path分隔符的使用

    不同的操作系統(tǒng)使用不同的字符作為文件和路徑分隔符。當(dāng)我們的應(yīng)用程序需要在多個平臺上運(yùn)行時,我們需要正確處理這些問題。Java幫助我們選擇一個合適的分隔符,本文就來聊聊Java中File分隔符和 Path分隔符的使用
    2022-07-07
  • Java中super關(guān)鍵字介紹以及super()的使用

    Java中super關(guān)鍵字介紹以及super()的使用

    這幾天看到類在繼承時會用到this和super,這里就做了一點(diǎn)總結(jié),下面這篇文章主要給大家介紹了關(guān)于Java中super關(guān)鍵字介紹以及super()使用的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論