鉴于原始问题的澄清,我已经完全编辑了我的答案。要使用SHA-512摘要算法对字符串进行散列处理,您需要使用JVM注册BouncyCastle,然后您可以直接使用Java API或BouncyCastle类。
E.g.的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,但更好(IMO),如果你能使用的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);
好了,我不想使用分组密码,我只想用摘要交易算法。 – Mackan90096 2015-04-04 14:11:36
@ artjom-b我不推荐任何东西,它只是一个关于如何构建完整算法的例子,未来的读者请不要将此作为推荐实践的建议。 – devonlazarus 2015-04-04 15:48:03
@ArtjomB。编辑问题 – Mackan90096 2015-04-04 16:38:57