亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?實現(xiàn)字符串SHA1加密方法

 更新時間:2021年11月20日 16:14:40   作者:RYANRUN潤  
這篇文章主要介紹了Java?實現(xiàn)字符串SHA1加密方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java 字符串SHA1加密

導入類

import java.security.MessageDigest;

定義函數(shù)

private String toUserPwd(final String password) {
  try {
   if (password == null) {
    return null;
   }
   final MessageDigest messageDigest = MessageDigest.getInstance("SHA");
   final byte[] digests = messageDigest.digest(password.getBytes());
   final StringBuilder stringBuilder = new StringBuilder();
   for (int i = 0; i < digests.length; i++) {
    int halfbyte = (digests[i] >>> 4) & 0x0F;
    for (int j = 0; j <= 1; j++) {
     stringBuilder.append(
       ((0 <= halfbyte) && (halfbyte <= 9))
         ? (char) ('0' + halfbyte)
         : (char) ('a' + (halfbyte - 10)));
     halfbyte = digests[i] & 0x0F;
    }
   }
   return stringBuilder.toString();
  } catch (final Throwable throwable) {
   this.log.error("error converting password", throwable);
   return null;
  }
 }

javaSHA1實現(xiàn)加密解密

封裝一個方法用于加密

/**
     * sha1加密
     * @param data
     * @return
     * @throws NoSuchAlgorithmException 
     */
    public static String sha1(String data) throws NoSuchAlgorithmException {
        //加鹽   更安全一些
        data += "lyz";
        //信息摘要器                                算法名稱
        MessageDigest md = MessageDigest.getInstance("SHA1");
        //把字符串轉為字節(jié)數(shù)組
        byte[] b = data.getBytes();
        //使用指定的字節(jié)來更新我們的摘要
        md.update(b);
        //獲取密文  (完成摘要計算)
        byte[] b2 = md.digest();
        //獲取計算的長度
        int len = b2.length;
        //16進制字符串
        String str = "0123456789abcdef";
        //把字符串轉為字符串數(shù)組
        char[] ch = str.toCharArray();
        
        //創(chuàng)建一個40位長度的字節(jié)數(shù)組
        char[] chs = new char[len*2];
        //循環(huán)20次
        for(int i=0,k=0;i<len;i++) {
            byte b3 = b2[i];//獲取摘要計算后的字節(jié)數(shù)組中的每個字節(jié)
            // >>>:無符號右移  
            // &:按位與
            //0xf:0-15的數(shù)字
            chs[k++] = ch[b3 >>> 4 & 0xf];
            chs[k++] = ch[b3 & 0xf];
        }
        
        //字符數(shù)組轉為字符串
        return new String(chs);
    }

主函數(shù)測試

    public static void main(String[] args) throws NoSuchAlgorithmException {
        String data = "跳梁小豆tlxd666";
        String result = sha1(data);
        System.out.println("加密后:"+result);
    }    

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Mybatis的parameterType造成線程阻塞問題分析

    Mybatis的parameterType造成線程阻塞問題分析

    這篇文章主要詳細分析了Mybatis的parameterType造成線程阻塞問題,文中有詳細的解決方法,及相關的代碼示例,具有一定的參考價值,感興趣的朋友可以借鑒閱讀
    2023-06-06
  • 淺談java異常處理之空指針異常

    淺談java異常處理之空指針異常

    下面小編就為大家?guī)硪黄獪\談java異常處理之空指針異常。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JAVA新手小白學正則表達式、包裝類、自動裝箱/自動拆箱以及BigDecimal

    JAVA新手小白學正則表達式、包裝類、自動裝箱/自動拆箱以及BigDecimal

    這篇文章主要給大家介紹了關于JAVA新手小白學正則表達式、包裝類、自動裝箱/自動拆箱以及BigDecimal的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • J2SE基礎之下載eclipse并創(chuàng)建項目

    J2SE基礎之下載eclipse并創(chuàng)建項目

    本文給大家介紹的是最流行的java 集成開發(fā)環(huán)境IDE eclipse的使用方法,非常的簡單,有需要的小伙伴可以參考下
    2016-05-05
  • IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案

    IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案

    這篇文章主要介紹了IDEA編寫JavaWeb出現(xiàn)亂碼問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • DTD驗證xml格式的三種方式詳解

    DTD驗證xml格式的三種方式詳解

    這篇文章主要介紹了DTD驗證xml格式的三種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Spring中的BeanFactory與FactoryBean區(qū)別詳解

    Spring中的BeanFactory與FactoryBean區(qū)別詳解

    這篇文章主要介紹了Spring中的BeanFactory與FactoryBean區(qū)別詳解,BeanFactory是一個接口,它是spring中的一個工廠,FactoryBean也是一個接口,實現(xiàn)了3個方法,通過重寫其中方法自定義生成bean,需要的朋友可以參考下
    2024-01-01
  • Java使用cookie顯示最近查看過的書

    Java使用cookie顯示最近查看過的書

    這篇文章主要為大家詳細介紹了Java使用cookie顯示最近查看過的書,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 深入理解JSON及其在Java中的應用小結

    深入理解JSON及其在Java中的應用小結

    json它是一種輕量級的數(shù)據(jù)交換格式,由于其易于閱讀和編寫,同時也易于機器解析和生成,因此廣泛應用于網(wǎng)絡數(shù)據(jù)交換和配置文件,這篇文章主要介紹了深入理解JSON及其在Java中的應用,需要的朋友可以參考下
    2023-12-12
  • JVM入門之類加載與字節(jié)碼技術(類加載與類的加載器)

    JVM入門之類加載與字節(jié)碼技術(類加載與類的加載器)

    Java字節(jié)碼增強指的是在Java字節(jié)碼生成之后,對其進行修改,增強其功能,這種方式相當于對應用程序的二進制文件進行修改。Java字節(jié)碼增強主要是為了減少冗余代碼,提高性能等
    2021-06-06

最新評論