博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MD5安全加密
阅读量:5023 次
发布时间:2019-06-12

本文共 1513 字,大约阅读时间需要 5 分钟。

package com.wjz.util;import java.security.MessageDigest;import org.apache.log4j.Logger;/** * MD5安全加密 * @author wjz * */public class MD5Util {        private static Logger logger = Logger.getLogger(MD5Util.class);    private MD5Util(){    }        /**     * MD5安全加密     * @param value 原始密文     * @param count 加密次数     * @return 加密密文     */    public static String encrypt(String value , int count){        String result = null;        try {             MessageDigest md5 = MessageDigest.getInstance("MD5");             //使用指定的字节加密原始字节             md5.update(value.getBytes());             //获得加密之后的字节             byte[] bs = md5.digest();             if(count > 1)                  result = encrypt(byte2String(bs), count-1);             //把密文转换成十六进制的字符串形式             result = byte2String(bs);        } catch (Exception e) {            logger.error(e.getMessage());            e.printStackTrace();        }        return result;    }        private static String byte2String(byte[] bs) {        //String本质上是字符数组        //byte是字节,char是字符,一个字符等于两个字节        char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' };        int i = 0;        char[] resultArry = new char[bs.length*2];        for (byte b : bs) {            //0xf表示16进制的F=15(二进制:00001111);            resultArry[i++] = hexDigits[b >>> 4 & 0xf];            resultArry[i++] = hexDigits[b & 0xf];        }        // 字符数组组合成字符串返回        return new String(resultArry);    }}

 

转载于:https://www.cnblogs.com/BINGJJFLY/p/7477219.html

你可能感兴趣的文章
ie下警告console未定义
查看>>
STM32加密擦除
查看>>
Façade(Chapter 10 of Pro Objective-C Design Patterns for iOS)
查看>>
浅谈Java的学习之路——怎样学好JAVA ?
查看>>
常用正则表达式语法
查看>>
iOS中使用RSA加密
查看>>
codeforces 446A DZY Loves Sequences
查看>>
Android四个基本组件(2)之Service 服务与Content Provider内容提供商
查看>>
关于未成品的问题:字符类型和其他种种
查看>>
TSQL--HASH JOIN
查看>>
『PyTorch』第九弹_前馈网络简化写法
查看>>
纯 CSS 绘制三角形(各种角度)
查看>>
你的袜子还是干的吗?
查看>>
POJ 2001 Shortest Prefixes(字典树)
查看>>
【Silverlight】汉诺塔游戏,带AI
查看>>
BigDecimal的引入和概述
查看>>
Oracle database server architecture
查看>>
StrictMode 详解
查看>>
JS中的几个弹出框用法及注意
查看>>
没忍住,听了rIPPER的,还是入手了个机械的
查看>>