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

Java sha1散列算法原理及代碼實(shí)例

 更新時(shí)間:2020年09月28日 10:50:00   作者:海綿般汲取  
這篇文章主要介紹了Java sha1散列算法原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

直接調(diào)用HashKit.sha1(String str)方法就可以了,,返回的是16進(jìn)制的字符串長(zhǎng)度是40,

也就是用md.digest()方法解析出來的字節(jié)數(shù)是160字節(jié)長(zhǎng)度。

而MD5散列算法生成的字節(jié)數(shù)是128字節(jié)長(zhǎng)度,返回的16進(jìn)制的字符長(zhǎng)度是32位

代碼如下

public class HashKit {
  private static final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
  
  public static String sha1(String srcStr){
    return hash("SHA-1", srcStr);
  }
  
  public static String hash(String algorithm, String srcStr) {
      try {
        MessageDigest md = MessageDigest.getInstance(algorithm);
        byte[] bytes = md.digest(srcStr.getBytes("utf-8"));
        return toHex(bytes);
      }
      catch (Exception e) {
        throw new RuntimeException(e);
      }
    }
  
  public static String toHex(byte[] bytes) {
      StringBuilder ret = new StringBuilder(bytes.length * 2);
      for (int i=0; i<bytes.length; i++) {
        ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]);
        ret.append(HEX_DIGITS[bytes[i] & 0x0f]);
      }
      return ret.toString();
    }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)數(shù)字炸彈

    java實(shí)現(xiàn)數(shù)字炸彈

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)數(shù)字炸彈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • SpringSecurity+JWT實(shí)現(xiàn)前后端分離的使用詳解

    SpringSecurity+JWT實(shí)現(xiàn)前后端分離的使用詳解

    這篇文章主要介紹了SpringSecurity+JWT實(shí)現(xiàn)前后端分離的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java中BigDecimal類與int、Integer使用總結(jié)

    Java中BigDecimal類與int、Integer使用總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java中BigDecimal類與int、Integer使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java簡(jiǎn)單數(shù)組排序(冒泡法)

    Java簡(jiǎn)單數(shù)組排序(冒泡法)

    這篇文章主要介紹了Java簡(jiǎn)單數(shù)組排序,實(shí)例分析了基于冒泡法實(shí)現(xiàn)數(shù)組排序的相關(guān)技巧,簡(jiǎn)單實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • IDEA中配置文件模板的添加方法

    IDEA中配置文件模板的添加方法

    這篇文章主要介紹了IDEA中配置文件模板的添加方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • SpringBoot使用Aspect切面攔截打印請(qǐng)求參數(shù)的示例代碼

    SpringBoot使用Aspect切面攔截打印請(qǐng)求參數(shù)的示例代碼

    這篇文章主要介紹了SpringBoot使用Aspect切面攔截打印請(qǐng)求參數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • SpringBoot 配置文件加載位置與優(yōu)先級(jí)問題詳解

    SpringBoot 配置文件加載位置與優(yōu)先級(jí)問題詳解

    這篇文章主要介紹了SpringBoot 配置文件加載位置與優(yōu)先級(jí)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • MyBatis Plus 入門使用詳細(xì)教程

    MyBatis Plus 入門使用詳細(xì)教程

    這篇文章主要介紹了MyBatis Plus 入門使用詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • spring實(shí)現(xiàn)bean對(duì)象創(chuàng)建代碼詳解

    spring實(shí)現(xiàn)bean對(duì)象創(chuàng)建代碼詳解

    這篇文章主要介紹了spring實(shí)現(xiàn)bean對(duì)象創(chuàng)建代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • MyBatis-Plus之邏輯刪除的實(shí)現(xiàn)

    MyBatis-Plus之邏輯刪除的實(shí)現(xiàn)

    這篇文章主要介紹了MyBatis-Plus之邏輯刪除的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

隆林| 重庆市| 蕲春县| 辉县市| 当雄县| 盐津县| 泽州县| 铁岭县| 云林县| 永安市| 吉首市| 扎赉特旗| 桃园市| 长乐市| 夹江县| 手机| 九江县| 云霄县| 大悟县| 思茅市| 阜康市| 色达县| 西青区| 柏乡县| 平和县| 吴川市| 都昌县| 兰考县| 新乐市| 克什克腾旗| 怀远县| 马龙县| 磐安县| 胶南市| 清涧县| 江华| 依兰县| 德庆县| 云梦县| 玉林市| 平潭县|