已注销用户
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
猜你喜欢
请下载代码后再发表评论
相关代码
最近下载
低调人 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日
微信网友_5824345614176256
2022年2月8日
暂无贡献等级
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日