已注销用户的gravatar头像
已注销用户 2013-12-05 10:36:48

java MD5算法返回数字型字串

有人问及MD5算法为何有些程序片断返回完全数字型结果而有些返回数字与字母的混合字串。其实两种返回结果只是因为加密结果的不同显示形式,在此附加JAVA实现,供参考。 JAVA的标准类库理论上功能也很强大,但由于虚拟机/运行时的实现太多,加之版本差异,有些代码在不同环境下运行会出现奇怪的异常结果,尤其以涉及字符集的操作为甚。

import java.security.MessageDigest;

public class MD5Encrypt {

    public MD5Encrypt() {

      }

     private final static String[] hexDigits = {

          "0", "1", "2", "3", "4", "5", "6", "7",

          "8", "9", "a", "b", "c", "d", "e", "f"

          };

     

     public static String byteArrayToString(byte[] b) {

            StringBuffer resultSb = new StringBuffer();

            for (int i = 0; i < b.length; i++) {

              resultSb.append(byteToNumString(b[i]));

            }

            return resultSb.toString();

          }

          private static String byteToNumString(byte b) {

            int _b = b;

            if (_b < 0) {

              _b = 256 + _b;

            }

            return String.valueOf(_b);

          }

          private static String byteToHexString(byte b) {

            int n = b;

            if (n < 0) {

              n = 256 + n;

            }

            int d1 = n / 16;

            int d2 = n % 16;

            return hexDigits[d1] + hexDigits[d2];

          }

          public static String MD5Encode(String origin) {

            String resultString = null;

            try {

              resultString = new String(origin);

              MessageDigest md = MessageDigest.getInstance("MD5");

              resultString =

        byteArrayToString(md.digest(resultString.getBytes()));

            }

            catch (Exception ex) {

            }

            return resultString;

          }

      

      

    public static void main(String[] args) {

        MD5Encrypt md5encrypt = new MD5Encrypt();

        System.out.println(MD5Encode("admin"));

    }

}

 

执行结果为:

   33354741122871651676713774147412831195

可以参考下这一个:

java项目开发中常用到的工具类,里面也有MD5加密方法

http://www.zuidaima.com/share/1596028005993472.htm

 


最代码官方编辑于2013-12-8 0:55:55


打赏

文件名:MD5Encrypt.java,文件大小:1.455K 下载
最代码最近下载分享源代码列表最近下载
低调人  LV38 2020年3月24日
luohaipeng  LV23 2019年11月19日
wyx065747  LV67 2018年10月14日
a1016048139  LV7 2018年7月4日
vijayChen  LV16 2018年7月3日
小笨蛋  LV17 2016年9月10日
lwf626888  LV16 2016年7月18日
zhang31123  LV23 2015年6月26日
说不了  LV22 2014年12月12日
qh0521  LV15 2014年6月20日
最代码最近浏览分享源代码列表最近浏览
iiiiiiixiiiiii  LV1 1月5日
暂无贡献等级
jachyn  LV6 2021年6月12日
2252536772  LV21 2021年2月4日
最强之神  LV7 2020年8月14日
廖燕杰 2020年5月26日
暂无贡献等级
Shalous 2020年4月16日
暂无贡献等级
低调人  LV38 2020年3月24日
8战魂5无双8  LV43 2019年12月25日
luohaipeng  LV23 2019年11月19日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友