本文共 2771 字,大约阅读时间需要 9 分钟。
MD5、SHA1和SHA256是最常见的哈希算法。JAVA中的hashCode是int类型的,占64位。
MD5是128位的哈希码计算算法; SHA1是160位的哈希码计算算法; SHA256是256位的哈希码计算算法。package utils;import org.junit.Test;import java.security.MessageDigest;public class MD5Utils { public static String md5Code(String input) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); byte[] hash = digest.digest(input.getBytes("UTF-8")); StringBuilder hexString = new StringBuilder(); for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch (Exception e) { throw new RuntimeException(e); } } @Test public void test() { String str = "Welcome"; String res = md5Code(str); System.out.println(res); }}
package utils;import org.junit.Test;import java.security.MessageDigest;public class SHA1Utils { public static String sha1Code(String input) { try { MessageDigest digest = MessageDigest.getInstance("SHA1"); byte[] hash = digest.digest(input.getBytes("UTF-8")); StringBuilder hexString = new StringBuilder(); for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch (Exception e) { throw new RuntimeException(e); } } @Test public void test() { String str = "Welcome"; String res = sha1Code(str); System.out.println(res); }}
package utils;import org.junit.Test;import java.security.MessageDigest;public class SHA256Utils { public static String sha256Code(String input) { try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(input.getBytes("UTF-8")); StringBuffer hexString = new StringBuffer(); for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch (Exception e) { throw new RuntimeException(e); } } @Test public void test() { String value = "Welcome"; String res = sha256Code(value); System.out.println(res); }}
转载地址:http://yguq.baihongyu.com/