这里有新鲜出炉的 Java 并发编程示例,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要介绍了 java 实现 md5 加密示例, 需要的朋友可以参考下
- /**
- * 实现MD5加密
- *
- */
- public class MD5 {
- /**
- * 获取加密后的字符串
- * @param input
- * @return
- */
- public static String stringMD5(String pw) {
- try {
- // 拿到一个MD5转换器(如果想要SHA1参数换成"SHA1")
- MessageDigest messageDigest = MessageDigest.getInstance("MD5");
- // 输入的字符串转换成字节数组
- byte[] inputByteArray = pw.getBytes();
- // inputByteArray是输入字符串转换得到的字节数组
- messageDigest.update(inputByteArray);
- // 转换并返回结果,也是字节数组,包含16个元素
- byte[] resultByteArray = messageDigest.digest();
- // 字符数组转换成字符串返回
- return byteArrayToHex(resultByteArray);
- } catch(NoSuchAlgorithmException e) {
- return null;
- }
- }
- public static String byteArrayToHex(byte[] byteArray) {
- // 首先初始化一个字符数组,用来存放每个16进制字符
- char[] hexDigits = {
- '0',
- '1',
- '2',
- '3',
- '4',
- '5',
- '6',
- '7',
- '8',
- '9',
- 'A',
- 'B',
- 'C',
- 'D',
- 'E',
- 'F'
- };
- // new一个字符数组,这个就是用来组成结果字符串的(解释一下:一个byte是八位二进制,也就是2位十六进制字符(2的8次方等于16的2次方))
- char[] resultCharArray = new char[byteArray.length * 2];
- // 遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去
- int index = 0;
- for (byte b: byteArray) {
- resultCharArray[index++] = hexDigits[b >>> 4 & 0xf];
- resultCharArray[index++] = hexDigits[b & 0xf];
- }
- // 字符数组组合成字符串返回
- return new String(resultCharArray);
- }
- }
PS:关于加密技术,本站还提供了如下加密工具供大家参考使用:
来源: http://www.phperz.com/article/17/0721/235938.html