最代码广告位
最代码伊成的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下载
最代码最近下载分享源代码列表最近下载
筱进GG LV383月24日
太阳太阳月亮星星星星
luohaipeng LV232019年11月19日
太阳月亮星星星星星星
wyx065747 LV642018年10月14日
皇冠
a1016048139 LV62018年7月4日
月亮星星星星
vijayChen LV162018年7月3日
太阳
小笨蛋 LV172016年9月10日
太阳星星
lwf626888 LV162016年7月18日
太阳
zhang31123 LV232015年6月26日
太阳月亮星星星星星星
说不了 LV222014年12月12日
太阳月亮星星星星
qh0521 LV152014年6月20日
月亮月亮月亮星星星星星星
最代码最近浏览分享源代码列表最近浏览
筱进GG LV383月24日
太阳太阳月亮星星星星
8战魂5无双8 LV392019年12月25日
太阳太阳月亮星星星星星星
luohaipeng LV232019年11月19日
太阳月亮星星星星星星
阮学洋 LV12019年9月23日
星星
小推推 LV192019年7月26日
太阳星星星星星星
qianjc LV212019年7月25日
太阳月亮星星
wa8021110 LV92019年7月16日
月亮月亮星星
chenyiiqng LV52019年7月12日
月亮星星
yongzheng132 LV172019年6月25日
太阳星星
chen491733492 LV52019年4月30日
月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友