欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java Mac消息摘要算法,javamac摘要算法,Mac消息摘要算法MAC

来源: javaer 分享于  点击 34468 次 点评:161

java Mac消息摘要算法,javamac摘要算法,Mac消息摘要算法MAC


Mac消息摘要算法

MACTest.java

package cn.outofmemory.gz;import javax.crypto.KeyGenerator;import javax.crypto.Mac;import javax.crypto.SecretKey;/** * Mac算法是带有密钥的消息摘要算法比MD5相对来说要更安全些,实现起来分为两步: * 1、构建密钥 * 2、执行消息摘要 * @author long * */public class MACTest {    public static void main(String[] args) throws Exception{        //初始化KeyGenerator        KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");        //产生密钥        SecretKey secretKey = keyGenerator.generateKey();         //得到密钥         byte[] key = secretKey.getEncoded();         //实例化Mac         Mac mac = Mac.getInstance(secretKey.getAlgorithm());         //初始化Mac         mac.init(secretKey);         //执行消息摘要 data是摘要后的结果         byte[] data = mac.doFinal("要摘要的".getBytes());         System.out.println(bytes2HexString(data));    }    /**     *把字节数组转换为16进制的形式      * @param b     * @return     */     public static String bytes2HexString(byte[] b) {          String ret = "";          for (int i = 0; i < b.length; i++) {           String hex = Integer.toHexString(b[ i ] & 0xFF);           if (hex.length() == 1) {            hex = '0' + hex;           }           ret += hex.toUpperCase();          }          return ret;        }}
相关栏目:

用户点评