1. 程式人生 > >java中16位或32位MD5加密

java中16位或32位MD5加密

import java.security.MessageDigest;

/**
 * @Description:MD5加解密工具
 * @author:liuyc
 * @time:2016年5月23日 上午11:11:16
 */
public class MD5Helper {
	/**
	 * @Description:加密-32位小寫
	 * @author:liuyc
	 * @time:2016年5月23日 上午11:15:33
	 */
	public static String encrypt32(String encryptStr) {
		MessageDigest md5;
		try {
			md5 = MessageDigest.getInstance("MD5");
			byte[] md5Bytes = md5.digest(encryptStr.getBytes());
			StringBuffer hexValue = new StringBuffer();
			for (int i = 0; i < md5Bytes.length; i++) {
				int val = ((int) md5Bytes[i]) & 0xff;
				if (val < 16)
					hexValue.append("0");
				hexValue.append(Integer.toHexString(val));
			}
			encryptStr = hexValue.toString();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return encryptStr;
	}

	/**
	 * @Description:加密-16位小寫
	 * @author:liuyc
	 * @time:2016年5月23日 上午11:15:33
	 */
	public static String encrypt16(String encryptStr) {
		return encrypt32(encryptStr).substring(8, 24);
	}

	public static void main(String[] args) {
		String encryptStr = "22222222222,./.,./.,./
[email protected]
#$%^&*()"; System.out.println(MD5Helper.encrypt32(encryptStr)); System.out.println(MD5Helper.encrypt16(encryptStr)); } }


MD5加密小寫,大寫也簡單,就是把加密後的串中字母轉換成大寫即可。String類就提供了字串大小寫互轉的方法:.toLowerCase().toUpperCase(),有問題記得留言哦,有錯誤之處歡迎指正!

相關推薦

java1632MD5加密

import java.security.MessageDigest; /** * @Description:MD5加解密工具 * @author:liuyc * @time:2016年5月23日 上午11:11:16 */ public class MD5Hel

js 1632md5加密

var hexcase=0;var b64pad="";var chrsz=8;function hex_md5(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz));} function b64_md5(s){r

163264程式設計各資料型別佔的位元組數

全文參考:平安,幸福美滿! 的日誌,網址http://blog.163.com/hbu_lijian/blog/static/126129153201212892143856/ 16位  1位元組8位,2位元組16位  4位元組32位  8位元組64位 char  1位元組

md5得到1632十六進

public static String 32Md5(String text) { StringBuffer buf = null; try { MessageDigest md = MessageDigest.getInstance("MD

Java16制與字串之間的相互轉換

在Oracle中表之間關聯需要有包含有中文的字串轉換為16進位制,在網上找了下,比較纖細點的在原文連結程式碼樣例:package com.eastcom.two.oracle.hex; public class StrWithHexTransform { public

用程式判斷作業系統是16還是32(64)的?

今天覆習了下C++,總結了這兩種方法用於判斷作業系統的位數,但第一種方法只能用於判斷是32位以上還是16位的,不能判斷是32位還是64位的,因為地址空間在32位和64位系統下都是一樣的。第二種方法可以判斷。 第一種方法:用sizeof()判斷 #include<ios

ASP MD5 1632加密實現

<% Private Const BITS_TO_A_BYTE = 8 Private Const BYTES_TO_A_WORD = 4 Private Const BITS_TO_A_WORD = 32 Private m_lOnBits(30) Private

ASP 常用MD5加密程式(1632、小寫、大寫)

以下是常用的MD5加密程式,建議儲存為md5.asp; 然後在需要使用加密的檔案中使用:<!--#include file="md5.asp"-->的方法將該檔案載入。 使用方法: 格式: 變數 = md5(引數一,引數二,引數三) 說明: 引數一:

說說 MD5 加密後的型別(1632的區別)

MD5 加密後的位數一般為兩種,16 位與 32 位。16 位實際上是從 32 位字串中,取中間的第 9 位到第 24 位的部分,用 Java 語言來說,即: str.substring(8, 24); MD5 加密後的字串又分為大寫與小寫兩種。 所以一個

C編程的81632整數的分解與合並

tdi code 比較 技術分享 size 指針 alt image amp 在單片機的編程中對於8位、16位、32位整數的分解與合並用的比較多,今天做了簡要學習,後面還需要加以總結。   練習在VC++6.0編程環境中進行,源程序:#include <stdio.h

arm32固定指令怎麽容納32變量

固定 這就是 mar span 通過 idt mic 負責 tle 在ARM指令集匯編碼中。32位有效馬上數是通過______偶數位而間接得到的 A、循環左移 B、循環右移、 C、邏輯左移、 D、邏輯右移 答案為循環左移。為什麽?還有最好解釋一下邏輯移動和循環移動

Visual Studio根據系統區分引用6432DLL動態庫文件的配置方法

問題 eight 找到 下拉 float c# more 遇到 語法 原來使用Win7的32位系統,進行C#工程的開發,後來重裝系統,換成了win7的64位系統 調試原來的工程,由於在其中引用了“SQLite”的32位的dll,導致在64為位下程序無法運行(但是編譯可以通

1632ModR-M域_SIB域_IMG

asm16位和32位ModR-M域_SIB域_IMG

vs+msys2+yasm 編譯libx264+ffmpeg詳細解釋(3264

下載msys2 下載yasm 安裝libx264 gcc 編譯libx264 (.a .dll) msvc編譯libx264(.lib .dll)

判斷SDK的DLL位數(32還是64)

1.用文字文件開啟DLL,開啟後是一堆亂碼 2.鍵盤敲下“Ctrl+F”,輸入“PE”,區分大小寫 3.找到PE後,他的後面如果是 L => 32 位                     &nb

WINDOWS, 如何檢視一個執行的程式是64還是32的?

方法一: 工作管理員法 工作管理員>>>程序(processes)>> 程序後帶有*32的是32位程式 方法二: 簡化顏色模式法 右鍵exe>>>屬性>>>相容性 若Settings框中的降低色彩和解析度的選項

各種資料型別在1632和64系統下所佔位元組差異簡介

編寫C、C++程式時需要考慮每種資料型別在記憶體中所佔的記憶體大小,即使同一種資料型別在不同平臺下所佔記憶體大小亦不相同,具體對比如下: 資料型別 16位系統(byte) 32位系統(by

Java在win10系統下32和64環境變數設定

今天解決的一個問題終於把困擾我多年的環境變數之類的東西搞懂了。 這一切罪惡的根源就是win10的64位系統可以相容32位軟體 當我多年前安裝java的時候,我選擇了安裝32位版本的java而並非64位版本。我按照百度經驗的教程https://jingyan.baidu.c

LinuxMongodb的安裝(32作業系統)

本文安裝的環境是 Centos6.4 32位 1首先得確定自己的Linux作業系統是多少位的。 getconf LONG_BIT 檢視 2開始配置自己的yum源 建立檔案 vim /etc/yum.

1632,64作業系統下,各型別的長度整理

特別是int相關的型別在不同位數機器的平臺下長度不同。C99標準並不規定具體資料型別的長度大小,只規定級別。作下比較:   (1)16位平臺   char         1個位元組8位