1. 程式人生 > >【Java】MD5工具類,解決中文轉MD5不一致問題。

【Java】MD5工具類,解決中文轉MD5不一致問題。

import java.security.MessageDigest;

public class MD5Util {

    /**
     * 
    * @Title: MD5 
    * @Description: 根據不同編碼進行MD5轉換
    * @param @param s
    * @param @param encodingType
    * @param @return
    * @return String
    * @author tanglei
    * @throws
     */
    public final static String MD5
(String s,String encodingType) { char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; try { // 按照相應編碼格式獲取byte[] byte[] btInput = s.getBytes(encodingType); // 獲得MD5摘要演算法的 MessageDigest 物件 MessageDigest mdInst = MessageDigest.getInstance("MD5"
); // 使用指定的位元組更新摘要 mdInst.update(btInput); // 獲得密文 byte[] md = mdInst.digest(); // 把密文轉換成十六進位制的字串形式 int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte
byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { return "-1"; } } }

相關推薦

JavaMD5工具解決中文MD5一致問題

import java.security.MessageDigest; public class MD5Util { /** * * @Title: MD5 *

JmeterJmeter工具安裝設定中文頁面

一、Jmeter安裝 1.Jmeter簡介     Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試 2.下載地址   3.配置 JMETER_HOME F:\work\wj\test\tools\jm

java數據

相互 需要 long 3.2 方式 強制 boolean als src 邏輯型boolean: boolean類型數據只能取值True或False,不可以0或者非0替代True或False,這點與c語言不同。 字符型char: 一個char類型的字符占兩個字節。表示方式

JavaJSOUP請求JSON 及解決jsoup能完整獲取響應內容的問題

用JSOUP來請求介面,構造請求頭的時候非常方便。程式碼如下: Document doc = Jsoup .connect(Constant.DATA_URL) .timeout(10000).get(); Element body = doc.body(); JSONObject js

Java開發工具--Eclipse&MySQL官網自選版本下載以及專案jar包下載

我們一般在使用開發軟體時,不一定使用最新版本的開發軟體,所以需要選擇適用的開發軟體來開發專案,下面是我總結的eclipse以及mysql官網自選版本下載步驟: Eclipse自選版本下載 百度輸入eclipse,進入eclipse官網地址,點選右上角的Down

JAVA為什麼重寫equals()就必須要重寫hashCode()?

                  為什麼重寫equals(),就必須要重寫hashCode()? 一、equals與hashCode到底是什麼? (1)equals()方法 檢視Object的原始碼可知 public boolean equals(Object

Javasql實現插入插入值的主鍵自增防止遷移資料時報主鍵衝突的錯誤;

一、問題 我們要自己造一些測試資料,並且這些SQL指令碼要遷移到其他環境,遷移過程中,如果主鍵寫死,在其他環境,可能會出現主鍵衝突;所以,我們要寫活的主鍵,實現起來也很簡單; 二、解決方法 insert into userInfo(id,name,age)val

JavaIterator底層原理自己實現Iterator

package test; import java.util.Iterator; public class MyIterator implements java.lang.Iterable<String> { private String[] eleme

JavaArrayList 底層原理自己實現ArrayList

實現的功能有  elementData物件陣列用來存放物件 size 計算容器大小 ArrayList空構造器,帶初始大小的構造器 ensureCapacity進行物件陣列擴容 rangeCheck進行檢查輸入值是否在範圍內 get方法返回某一位置物件 set方

Java生成隨機數工具進位制之間的轉換工具獲取指定時間時間格式轉換工具

廢話不多說,貢獻一下code 1.編號生成工具 import org.apache.commons.lang3.StringUtils; import java.math.BigInteger; import java.text.SimpleDa

Java 表單註冊常用正則表示式驗證工具常用正則表示式大集合 1. 電話號碼 2. 郵編 3. QQ 4. E-mail 5. 手機號碼 ……

/* Java 表單註冊常用正則表示式驗證工具類,常用正則表示式大集合。 1. 電話號碼  2. 郵編  3. QQ  4. E-mail  5. 手機號碼  6. URL  7. 是否為數字  8. 是否為中文  9. 身份證  10. 域名  11. IP*/ pack

JAVA四種引用強弱軟虛以及用到的場景

1、強引用(StrongReference)           強引用是使用最普遍的引用。如果一個物件具有強引用,那垃圾回收器絕不會回收它。如下:                                    1 Object o=new Objec

Java編寫一個方法實現基本的字串壓縮功能

利用重複字元出現的次數,編寫一個方法,實現基本的字串壓縮功能。 例如,字串aabcccccaaa會變為a2b1c5a3。若壓縮後的字串沒有變短,則返回原先的字串。 StringBuffer: 如果頻繁地對字串進行拼接,直接用“+”的話會建立很多String型的物件,對伺服器

java查重的實現

最近在學校做大創專案,用到查重機制,寫了一個查重類 附上程式碼: import java.util.Vector; public class ElementCheck { // 重複優先 static Vector<Integer> CheckSameE

java IP地址工具java IP地址獲取java獲取客戶端IP地址

java IP地址工具類,java IP地址獲取,java獲取客戶端IP地址   ================================ ©Copyright 蕃薯耀 2019年1月11日 http://fanshuyao.iteye.com/   impo

java DateUtil日期工具獲取當前日期幾天前的日期一週前的日期

import java.util.Calendar;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil{/** * 獲取指定日期間隔天數的起始值 * @param date

OpenCV編譯OpenCV時FFmpeg或ippicv下載成功的解決方案

在自己編譯OpenCV時,因為種種原因可能會導致FFmpeg或ippicv下載不成功的問題,可以通過手動配置來解決這類問題,當然也可以直接配置之後再編譯。 在進行配置之前,首先前往GitHub下載相應的庫。 連結開啟之後頁面內容大致如上圖所示,圖中圈

Java編寫一個程式輸出一個字串中的大寫英文字母數小寫英文字母數以及非英文字母數

/* * 作者:筱筱 * 日期:20170507 * 功能:編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。 */ public class Aa3Count { public static void main(S

JavaFilter過濾器中在chain.doFilter(request,response)後若有重定向或轉發語句

在chain.doFilter(request,response)後若有重定向或轉發語句,執行順序是: 1.所要訪問的資源不是轉發的目標資源: chain.doFilter(request,

Java實現一個演算法找出一個單鏈表中倒數第K個結點

用迭代法,使用兩個指標P1和P2,分別指向連結串列中相聚K個結點的兩個結點。 P1,p2均指向頭加點,然後將P2向前移動K個結點。之後,以相同的速度移動這兩個指標,那麼p2會在length-K步後到達尾結點,這時p1就剛好在第length-K個結點也就是倒數第K個結點的位置