Java-MD5
2018-10-11 10:00:55来源:博客园 阅读 ()
1 /** 2 * 加密类 3 */ 4 public class MD5Util { 5 /** 6 * 进行MD5加密 7 */ 8 public static String entryptByMD5(String originstr) { 9 String result = null; 10 char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符 11 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; 12 if (originstr != null) { 13 try { 14 // 返回实现指定摘要算法的 MessageDigest 对象 15 MessageDigest md = MessageDigest.getInstance("MD5"); 16 // 使用utf-8编码将originstr字符串编码并保存到source字节数组 17 byte[] source = originstr.getBytes("utf-8"); 18 // 使用指定的 byte 数组更新摘要 19 md.update(source); 20 // 通过执行诸如填充之类的最终操作完成哈希计算,结果是一个128位的长整数 21 byte[] tmp = md.digest(); 22 // 用16进制数表示需要32位 23 char[] str = new char[32]; 24 for (int i = 0, j = 0; i < 16; i++) { 25 // j表示转换结果中对应的字符位置 26 // 从第一个字节开始,对 MD5 的每一个字节 27 // 转换成 16 进制字符 28 byte b = tmp[i]; 29 // 取字节中高 4 位的数字转换 30 // 无符号右移运算符>>> ,它总是在左边补0 31 // 0x代表它后面的是十六进制的数字. f转换成十进制就是15 32 str[j++] = hexDigits[b >>> 4 & 0xf]; 33 // 取字节中低 4 位的数字转换 34 str[j++] = hexDigits[b & 0xf]; 35 } 36 result = new String(str);// 结果转换成字符串用于返回 37 } catch (NoSuchAlgorithmException e) { 38 // 当请求特定的加密算法而它在该环境中不可用时抛出此异常 39 e.printStackTrace(); 40 } catch (UnsupportedEncodingException e) { 41 // 不支持字符编码异常 42 e.printStackTrace(); 43 } 44 } 45 return result; 46 } 47 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:JSON基础知识点
- DES/3DES/AES 三种对称加密算法实现 2020-06-11
- Spring Boot加密配置文件特殊内容 2020-05-29
- MD5加密工具类 2020-04-29
- Java对称加密算法 2020-04-24
- Java MD5加密 2020-04-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash