如何在Android中生成HMAC MD5?

时间:2010-06-29 12:39:14

标签: android cryptography

我是这个领域的新手!我有这个消息和密钥我也想要HMAC MD5使用这两个如此可能,如果可能的话然后给出一些示例或示例代码。给定的链接显示我想要的整体功能这样的代码。请帮帮我。

Messgae = POSTuserMon,28Jun201010:18:33GMT7FF4471B-13C0-5A9F-BB7B-7309F1AB7F08

key = d6fc3a4a06ed55d24fecde188aaa9161

Link = http://hash.online-convert.com/md5-generator

2 个答案:

答案 0 :(得分:5)

这是工作代码 生成的结果与Link = http://hash.online-convert.com/md5-generator

相同
public String calcHmac(String src) throws Exception {

    String key = "d6fc3a4a06ed55d24fecde188aaa9161";
    Mac mac = Mac.getInstance("HmacSHA1");
    SecretKeySpec sk = new SecretKeySpec(key.getBytes(),mac.getAlgorithm());  
    mac.init(sk);
    byte[] result = mac.doFinal(src.getBytes());


    return Base64.encodeToString(result ,Base64.URL_SAFE);
}

答案 1 :(得分:4)

查看javax.crypto.Mac课程。尝试Mac.getInstance("HmacMD5");,然后使用密钥使用init方法,然后使用updatedoFinal方法,就像使用MessageDigest对象一样。