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方式一样有两种方式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值