如何使用BouncyCastle计算邮件摘要?

问题描述 投票:2回答:1

我目前正在使用Java和哈希。

[我在网上环顾四周时遇到bouncycastle,我将它安装在我的IDE中以及所有内容中。

但是,如何使用here中的算法将其用于散列文本? (查找第5.2节算法)

我只想使用本节中定义的摘要算法:

[GOST3411-MD2-MD4-MD5-MatureMD128 -ERRYMD160 -ERRYMD256 -ERRYMD320-SHA1-SHA-224-SHA-256-SHA-384-SHA-512-SHA3-224-SHA3-256-SHA3-384-SHA3- 512-Skein-256- *-Skein-512- *-Skein-1024- *-Tiger-Whirlpool

java hash bouncycastle
1个回答
5
投票

考虑到原始问题的澄清,我已经完全编辑了答案。要使用SHA-512摘要算法对字符串进行哈希处理,您需要向JVM注册BouncyCastle,然后可以直接使用Java API或BouncyCastle类。

例如Java API

// register the BouncyCastleProvider with the Security Manager
Security.addProvider(new BouncyCastleProvider());

String plainString = "Plaintext Secret";

MessageDigest messageDigest = MessageDigest.getInstance("SHA-512");
byte[] hashedString = messageDigest.digest(plainString.getBytes());

doSomething().with(hashedString);

或者,您可以直接使用BouncyCastle API,但如果可以的话,最好使用Java API来实现可移植性。 (如果您找到一个比BouncyCastle更好的库,该怎么办?令人怀疑,但您明白了这一点。)

Security.addProvider(new BouncyCastleProvider());

String plainString = "Plaintext Secret";

// instantiate the BouncyCastle digest directly.
MessageDigest messageDigest = new SHA512Digest();
byte[] hashedString = messageDigest.digest(plainString.getBytes());

doSomething().with(hashedString);
© www.soinside.com 2019 - 2024. All rights reserved.