mymac.java

来自「JAVA案例开发集锦源代码 袁然 郑自国编」· Java 代码 · 共 34 行

JAVA
34
字号
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 + =
减小字号Ctrl + -
显示快捷键?