最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編碼摘要算法實(shí)例解析

 更新時(shí)間:2020年01月29日 10:35:06   投稿:yaominghui  
這篇文章主要介紹了Java編碼摘要算法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Java編碼摘要算法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

URL 編碼與解碼

String s = "你好,世界!";
// URL 編碼
String urlEncodedString = URLEncoder.encode(s, "UTF-8");
// URL 解碼
String urlDecodedString = URLDecoder.decode(urlEncodedString, "UTF-8");

Base64 編碼與解碼

// Base64 編碼
String base64EncodedString = Base64
    .getEncoder()
    // 去掉 Base64 后補(bǔ)位的 =
    .withoutPadding()
    .encodeToString("你好,世界!!".getBytes(StandardCharsets.UTF_8));
// Base64 解碼
byte[] base64DecodedByteArray = Base64.getDecoder().decode(base64EncodedString);
String base64DecodedString = new String(base64DecodedByteArray, StandardCharsets.UTF_8);

byte[] 轉(zhuǎn) 16 進(jìn)制字符串

后面摘要算法可視化結(jié)果時(shí)會(huì)用到

/**
 * byte[] 按位轉(zhuǎn)換為 16 進(jìn)制 String
 * @param aData 需要轉(zhuǎn)換的 byte[]
 * @return byte[] 按位轉(zhuǎn)換為的 16 進(jìn)制 String
 */
public static String byteArrayToHexString(byte[] aData) {
  final char[] hexChars = "0123456789abcdef".toCharArray();
  // 一個(gè)字節(jié)用兩個(gè) 16 進(jìn)制字符表示
  StringBuilder stringBuilder = new StringBuilder(aData.length * 2);
  for (byte b : aData) {
    // 高 4 位轉(zhuǎn)換為 16 進(jìn)制
    stringBuilder.append(hexChars[(b >>> 4) & 0x0f]);
    // 低 4 位轉(zhuǎn)換為 16 進(jìn)制
    stringBuilder.append(hexChars[b & 0x0f]);
  }
  return stringBuilder.toString();
}

MD5 算法

// 參數(shù)為摘要算法的名稱
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
// 以下兩行代碼相當(dāng)于 messageDigest.update("你好,世界!".getBytes(StandardCharsets.UTF_8));
messageDigest.update("你好,".getBytes(StandardCharsets.UTF_8));
messageDigest.update("世界!".getBytes(StandardCharsets.UTF_8));
byte[] md5Bytes = messageDigest.digest();

SHA1 算法

// SHA256 把算法名稱換一下就行了
MessageDigest messageDigest = MessageDigest.getInstance("SHA1");
// 以下兩行代碼相當(dāng)于 messageDigest.update("你好,世界!".getBytes(StandardCharsets.UTF_8));
messageDigest.update("你好,".getBytes(StandardCharsets.UTF_8));
messageDigest.update("世界!".getBytes(StandardCharsets.UTF_8));
byte[] md5Bytes = messageDigest.digest();

,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值

相關(guān)文章

  • javax.validation自定義日期范圍校驗(yàn)注解操作

    javax.validation自定義日期范圍校驗(yàn)注解操作

    這篇文章主要介紹了javax.validation自定義日期范圍校驗(yàn)注解操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 看過(guò)就懂的java零拷貝及實(shí)現(xiàn)方式詳解

    看過(guò)就懂的java零拷貝及實(shí)現(xiàn)方式詳解

    這篇文章主要為大家詳細(xì)的介紹了什么是零拷貝,傳統(tǒng)的IO執(zhí)行流程,零拷貝相關(guān)的知識(shí)點(diǎn)回顧,零拷貝實(shí)現(xiàn)的幾種方式及java提供的零拷貝方式相關(guān)內(nèi)容,有需要的朋友可以借鑒參考下
    2022-01-01
  • 關(guān)于IDEA2020.1新建項(xiàng)目maven PKIX 報(bào)錯(cuò)問(wèn)題解決方法

    關(guān)于IDEA2020.1新建項(xiàng)目maven PKIX 報(bào)錯(cuò)問(wèn)題解決方法

    這篇文章主要介紹了關(guān)于IDEA2020.1新建項(xiàng)目maven PKIX 報(bào)錯(cuò)問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    下面小編就為大家?guī)?lái)一篇淺談Java 類中各成分加載順序和內(nèi)存中的存放位置。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法

    java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法

    當(dāng)讀取一個(gè)大文件時(shí),一時(shí)半會(huì)兒無(wú)法看到讀取結(jié)果,就需要顯示一個(gè)進(jìn)度條,是程序員明白已經(jīng)讀了多少文件,可以估算讀取還需要多少時(shí)間,下面的代碼可以實(shí)現(xiàn)這個(gè)功能
    2014-01-01
  • 基于idea 的 Java中的get/set方法之優(yōu)雅的寫法

    基于idea 的 Java中的get/set方法之優(yōu)雅的寫法

    這篇文章主要介紹了基于idea 的 Java中的get/set方法之優(yōu)雅的寫法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • kafka 啟動(dòng)報(bào)錯(cuò) missingTopicsFatal is true的解決

    kafka 啟動(dòng)報(bào)錯(cuò) missingTopicsFatal is true的解決

    這篇文章主要介紹了kafka 啟動(dòng)報(bào)錯(cuò) missingTopicsFatal is true的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)通訊錄

    java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)通訊錄

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)通訊錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • java swing GUI窗口美化方式

    java swing GUI窗口美化方式

    這篇文章主要介紹了java swing GUI窗口美化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java之Arrays的各種功能和用法總結(jié)

    Java之Arrays的各種功能和用法總結(jié)

    數(shù)組在?Java?中是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作大量數(shù)據(jù)。Arrays?是我們?cè)谔幚頂?shù)組時(shí)的一把利器。它提供了豐富的方法和功能,使得數(shù)組操作變得更加簡(jiǎn)單、高效和可靠。接下來(lái)我們一起看看?Arrays?的各種功能和用法,,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

商城县| 西昌市| 淮滨县| 原阳县| 阿拉善左旗| 清丰县| 邵阳市| 扎赉特旗| 江华| 德化县| 乌审旗| 南丹县| 尼勒克县| 满城县| 张掖市| 公安县| 顺昌县| 大城县| 新宁县| 邓州市| 长春市| 信阳市| 贡觉县| 确山县| 双鸭山市| 金溪县| 平山县| 丹寨县| 华阴市| 泊头市| 清苑县| 文昌市| 绵竹市| 江永县| 苏尼特右旗| 紫阳县| 宣汉县| 曲阳县| 松阳县| 天峻县| 孟津县|