📄 mymac.java
字号:
package seven;
/**
* @author wangmj
* @mail <a mailto="wangmingjie_2002@hotmail.com"> 2005-5-9 2005
* 下面的程序即可利用共同的密钥来计算消息摘要的验证码 MyMac.java
*/
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class MyMac {
public static void main(String[] args) throws Exception {
//这是一个消息摘要串
String str = "TestString";
//共同的密钥编码,这个可以通过其它算法计算出来
byte[] kb = { 11, 105, -119, 50, 4, -105, 16, 38, -14, -111, 21, -95,
70, -15, 76, -74, 67, -88, 59, -71, 55, -125, 104, 42 };
//获取共同的密钥
SecretKeySpec k = new SecretKeySpec(kb, "HMACSHA1");
//获取Mac对象
Mac m = Mac.getInstance("HmacMD5");
m.init(k);
m.update(str.getBytes("UTF-8"));
byte[] re = m.doFinal();//生成消息码
//下面把消息码转换为字符串
String result = "";
for (int i = 0; i < re.length; i++) {
result += Integer.toHexString((0x000000ff & re[i]) | 0xffffff00)
.substring(6);
}
System.out.println(result);
//615ce3b8ebef6e189869dda622981191
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -