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
|
public
class
Encodes {
private
static
final
String DEFAULT_URL_ENCODING =
"UTF-8"
;
private
static
final
char
[] BASE62 =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
.toCharArray();
/**
* Hex編碼.
*/
public
static
String encodeHex(
byte
[] input) {
return
Hex.encodeHexString(input);
}
/**
* Hex解碼.
*/
public
static
byte
[] decodeHex(String input) {
try
{
return
Hex.decodeHex(input.toCharArray());
}
catch
(DecoderException e) {
throw
Exceptions.unchecked(e);
}
}
/**
* Base64編碼.
*/
public
static
String encodeBase64(
byte
[] input) {
return
Base64.encodeBase64String(input);
}
/**
* Base64編碼, URL安全(將Base64中的URL非法字符'+'和'/'轉爲'-'和'_', 見RFC3548).
*/
public
static
String encodeUrlSafeBase64(
byte
[] input) {
return
Base64.encodeBase64URLSafeString(input);
}
/**
* Base64解碼.
*/
public
static
byte
[] decodeBase64(String input) {
return
Base64.decodeBase64(input);
}
/**
* Base62編碼。
*/
public
static
String encodeBase62(
byte
[] input) {
char
[] chars =
new
char
[input.length];
for
(
int
i =
0
; i < input.length; i++) {
chars[i] = BASE62[((input[i] &
0xFF
) % BASE62.length)];
}
return
new
String(chars);
}
/**
* Html 轉碼.
*/
public
static
String escapeHtml(String shtml) {
return
StringEscapeUtils.escapeHtml4(shtml);
}
/**
* Html 解碼.
*/
public
static
String unescapeHtml(String htmlEscaped) {
return
StringEscapeUtils.unescapeHtml4(htmlEscaped);
}
/**
* Xml 轉碼.
*/
public
static
String escapeXml(String xml) {
return
StringEscapeUtils.escapeXml(xml);
}
/**
* Xml 解碼.
*/
public
static
String unescapeXml(String xmlEscaped) {
return
StringEscapeUtils.unescapeXml(xmlEscaped);
}
/**
* URL 編碼, Encode默認爲UTF-8.
*/
public
static
String urlEncode(String part) {
try
{
return
URLEncoder.encode(part, DEFAULT_URL_ENCODING);
}
catch
(UnsupportedEncodingException e) {
throw
Exceptions.unchecked(e);
}
}
/**
* URL 解碼, Encode默認爲UTF-8.
*/
public
static
String urlDecode(String part) {
try
{
return
URLDecoder.decode(part, DEFAULT_URL_ENCODING);
}
catch
(UnsupportedEncodingException e) {
throw
Exceptions.unchecked(e);
}
}
}
|
================================================
不得不佩服下面連接的仁兄,各類加密算法整理的着實詳盡
各類java 加密算法:http://www.open-open.com/lib/view/open1397274257325.html