用python/java实现hmacmd5加密的一个示例
2016-01-11 10:10
651 查看
hmacmd5(using python/java)
1. python实现hmacmd5的示例
# coding: utf-8 import hmac import hashlib ekey = 'samplekey' to_enc = 'sampledata' enc_res = hmac.new(ekey, to_enc, hashlib.md5).hexdigest() print enc_res
2.java实现hmacmd5加密的示例
import java.security.MessageDigest; import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * 基础加密组件 * @version 1.0 */ public class Coder { /** * MAC算法可选以下多种算法 * * <pre> * HmacMD5 * HmacSHA1 * HmacSHA256 * HmacSHA384 * HmacSHA512 * </pre> */ public static final String KEY_MAC = "HmacMD5"; /** * HMAC加密 * * @param data * @param key * @return * @throws Exception */ public static byte[] encryptHMAC(byte[] data, String key) throws Exception { SecretKey secretKey = new SecretKeySpec(key.getBytes(), KEY_MAC); Mac mac = Mac.getInstance(secretKey.getAlgorithm()); mac.init(secretKey); return mac.doFinal(data); } /*byte数组转换为HexString*/ public static String byteArrayToHexString(byte[] b) { StringBuffer sb = new StringBuffer(b.length * 2); for (int i = 0; i < b.length; i++) { int v = b[i] & 0xff; if (v < 16) { sb.append('0'); } sb.append(Integer.toHexString(v)); } return sb.toString(); } public static void main(String[] args)throws Exception{ String inputStr = "{\"somek\":\"somev\"}"; byte[] inputData = inputStr.getBytes(); String key = "somekey"; System.out.println(Coder.byteArrayToHexString(Coder.encryptHMAC(inputData, key))); } }
相关文章推荐
- python学习网址收集
- Python进阶01-05
- 基于Python实现文件大小输出
- Python Scrapy安装
- python---游戏登录
- Python 爬虫学习稿(二)
- python:科普 使用技巧
- Python中的闭包实例详解
- 基于Python实现文件大小输出
- 安装python及yum
- python 条件判断和循环
- python-75:BS4实例1源码
- Python 1.0.1 思想精华
- Java运行Python脚本的方法
- 为Python安装第三方模块
- Python的数据模型
- Python多版本管理软件pyenv的安装应用及pip的使用讲解
- 2016马哥教育--Python3.0实战培训班重磅来袭
- 5行Python代码实现一个简单的在线英汉词典
- Numpy数据类型