一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼

java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼

2020-07-08 14:08java教程網 JAVA教程

這篇文章主要介紹了java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼的相關資料,這里附實例代碼,幫助到大家學習理解,需要的朋友可以參考下

java加密算法--MD5加密哈希散列帶秘鑰加密算法源碼

             最近學習加密算法的知識,利用MD5 加密,百度一下網上資料很多,不是很詳細,這里就整理下如何實現用MD5加密和 哈希散列帶秘鑰加密算法,大家可以看下。

實現代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package com.ompa.common.utils;
 
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
 
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
 
/**
* 采用MD5加密
*
* @author zhangcd
* @date 2016-4-29
*/
public class EncryptUtil {
 
private static final String MAC_NAME = "HmacSHA1";
private static final String ENCODING = "UTF-8";
private static final String key = "iloveyou";
 
/***
* MD5加碼 生成32位md5碼
*/
public static String string2MD5(String inStr){
MessageDigest md5 = null;
try{
md5 = MessageDigest.getInstance("MD5");
}catch (Exception e){
System.out.println(e.toString());
e.printStackTrace();
return "";
}
char[] charArray = inStr.toCharArray();
byte[] byteArray = new byte[charArray.length];
 
for (int i = 0; i < charArray.length; i++)
byteArray[i] = (byte) charArray[i];
byte[] md5Bytes = md5.digest(byteArray);
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));
}
return hexValue.toString();
 
}
 
/***
* MD5加密 生成32位md5碼
*/
public static String stringMD5(String inStr){
return string2MD5(string2MD5(inStr));
 
}
 
/**
* 加密解密算法
*/
public static String convertMD5(String inStr){
 
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++){
a[i] = (char) (a[i] ^ 't');
}
String s = new String(a);
return s;
 
}
 
/**
* HMAC-SHA1
* @param encryptText
* @param encryptKey
* @return
* @throws Exception
*/
public static String HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception
{
byte[] data=encryptKey.getBytes(ENCODING);
SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);
Mac mac = Mac.getInstance(MAC_NAME);
mac.init(secretKey);
 
byte[] text = encryptText.getBytes(ENCODING);
byte[] str = mac.doFinal(text);
// Create Hex String
StringBuffer hexString = new StringBuffer();
// 字節數組轉換為 十六進制 數
for (int i = 0; i < str.length; i++) {
String shaHex = Integer.toHexString(str[i] & 0xFF);
if (shaHex.length() < 2) {
hexString.append(0);
}
hexString.append(shaHex);
}
return hexString.toString();
}
 
public static String convertSHA1(String instr){
try {
return HmacSHA1Encrypt(instr,key);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
 
// 測試主函數
public static void main(String args[]) throws Exception {
//哈希散列帶秘鑰加密
String tt = convertSHA1("123456");
System.out.println(tt);
 
//MD5加密
String s = new String("123456");
System.out.println("原始:" + s);
System.out.println("MD5后:" + string2MD5(s));
System.out.println("MD5加密后:" + stringMD5(s));
}
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://www.cnblogs.com/lingbing/p/6085747.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美精品久久一区二区三区 | 青青青青青国产免费手机看视频 | 美女任你模| 欧美日韩亚洲综合在线一区二区 | 亚洲成年 | 67194最新网址 | 日本视频在线播放 | 精品国产自在在线在线观看 | 法国女佣系列在线播放 | 欧美日韩国产中文字幕 | 亚洲精品资源在线 | 美女女女女女女bbbbbb毛片 | 关晓彤一级做a爰片性色毛片 | 91制片厂制作传媒网站 | 美女校花被调教出奶水 | 成人精品 | 朝鲜女人性猛交 | 99热久热这里只精品 | 人与动人物aaaa | 亚洲精品福利在线 | 国产午夜精品一区二区三区不卡 | 99这里精品 | 国产精品短视频 | 日本不卡高清免费v日本 | 日本xx高清视频免费观看 | 四虎精品永久免费 | jm漫天堂破解版 | 啊好大好爽 | 久久久伊人影院 | 99视频久久精品久久 | 啊好爽视频 | 精品一卡2卡3卡4卡5卡亚洲 | 四虎在线永久免费视频网站 | 闺蜜调教我做她的脚奴 | 免费国产成人高清视频网站 | 国产 日韩 欧美 综合 | 青春草在线观看视频 | 无罩看奶禁18 | 色欲都市 | 精品国产免费久久久久久 | 884hutv四虎永久7777 |