Java加密之SHA示例

SHA 安全散列算法

SHA-1

SHA-2(SHA-224,SHA-256,SHA-384,SHA-512)
           

JDK7 之前是没有SHA224的


跟MD算法类似

JDK

public static void JDKSHA1(){
		try {
			MessageDigest digest = MessageDigest.getInstance("SHA");
			digest.update(src.getBytes());
			System.out.println("JDK SHA1:"+Hex.encodeHexString(digest.digest()));
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
	}

Bouncy Castle

	public static void BCSHA1(){
		Digest digest = new SHA1Digest();
		digest.update(src.getBytes(),0,src.getBytes().length);
		byte[] sha1byte = new byte[digest.getDigestSize()];
		digest.doFinal(sha1byte, 0);
		System.out.println("BC SHA1:"+org.bouncycastle.util.encoders.Hex.toHexString(sha1byte));
	}

Commons Codec

public static void CCSHA1(){
		System.out.println("CC SHA1:"+DigestUtils.sha1Hex(src));
	}
同MD5 CC也是对JDK的SHA做了改进使用更方便


其他的算法就不写了 同MD5一样 BC 的SHA224 也可以跟BC的MD4方式一样有两种方式。


你可能感兴趣的:(java)