md5 32位加密

来源:互联网 发布:川岛芳子 方姥 知乎 编辑:程序博客网 时间:2024/04/29 20:37
import java.security.MessageDigest;/** * 采用MD5加密解密 *  * @author 周化益 */public class MD5Util {/** * MD5加码 生成32位md5码 *  * @author zhy * @param inStr 传入的字符串 */public static String string2MD5(String inStr) {MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("MD5");} catch (Exception e) {e.printStackTrace();return "";}char[] charArray = inStr.toCharArray();byte[] byteArray = new byte[charArray.length];for (int i = 0; i < charArray.length; i++) {byteArray[i] = (byte) charArray[i];}byte[] md5Bytes = md5.digest(byteArray);StringBuffer hexValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++) {int val = ((int) md5Bytes[i]) & 0xff;if (val < 16)hexValue.append("0");hexValue.append(Integer.toHexString(val));}return hexValue.toString();}/** * 加密解密算法 执行一次加密,两次解密 *  * @author zhy */public static String convertMD5(String inStr) {char[] a = inStr.toCharArray();for (int i = 0; i < a.length; i++) {a[i] = (char) (a[i] ^ 't');}String s = new String(a);return s;}// 测试主函数public static void main(String args[]) {String s = new String("123");System.out.println("原始:" + s);System.out.println("MD5后:" + string2MD5(s));System.out.println("加密的:" + convertMD5(s));System.out.println("解密的:" + convertMD5(convertMD5(s)));}}

0 0