老鬼的博客 来都来啦,那就随便看看吧~
Java和Jquery Md5做接口签名
发布于: 2019-11-07 更新于: 2019-11-08 分类于:  阅读次数: 

一:介绍

1
2
html与后端接口访问,为了简单的安全验证,需要做一下签名处理,
一般是某一个字段+timestamp做md5的签名,后端比对签名是否一致。

二:html代码

  • 代码块
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>MD5签名</title>
</head>
<body>
<script src="./jquery.js"></script>
<script src="./md5.js"></script>
<script type="text/javascript" >
var userId = '0b44baa65b90727f015b9076a38a0001';
var timestamp = '1558494714737'
var t1 = userId + timestamp;
var s1 = $.md5(t1);
console.log(s1);
</script>
</body>
</html>

三:java代码

  • 代码块
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
package com.tohours.tookeen.util;

import java.security.MessageDigest;

public class MD5Utils {
private static String byteArrayToHexString(byte b[]) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++)
resultSb.append(byteToHexString(b[i]));

return resultSb.toString();
}

private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n += 256;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}

public static String MD5Encode(String origin, String charsetname) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
if (charsetname == null || "".equals(charsetname))
resultString = byteArrayToHexString(md.digest(resultString
.getBytes()));
else
resultString = byteArrayToHexString(md.digest(resultString
.getBytes(charsetname)));
} catch (Exception exception) {
}
return resultString;
}

private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
}

*************感谢您的阅读*************