dgregory dgregory - 14 days ago 12
Java Question

Reliable implementation of PBKDF2-HMAC-SHA256 for JAVA

Is there any reliable implementation of PBKDF2-HMAC-SHA256 for JAVA?

I used to encrypting by bouncycastle but it does not provides PBKDF2WithHmacSHA256'.

I do not want to write crypto module by myself.

Could you recommend any alternative library or algorithm (if i can stick with bouncycastle)

(here are algorithms that bouncycastle supports algorithm)
http://www.bouncycastle.org/specifications.html

Answer

Using BouncyCastle classes directly:

PKCS5S2ParametersGenerator gen = new PKCS5S2ParametersGenerator(new SHA256Digest());
gen.init("password".getBytes("UTF-8"), "salt".getBytes(), 4096);
byte[] dk = ((KeyParameter) gen.generateDerivedParameters(256)).getKey();
Comments