java - desencriptar - sha 256 online
Cálculo de Hash SHA 3 en Java (3)
He estado usando la biblioteca CryptoJS (es decir, CryptoJS.algo.SHA3.creat()
) para el hash SHA-3 en el extremo frontal. (consulte http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha3.js )
Me preguntaba si hay alguna equivalencia de biblioteca de Java? Pero hasta ahora no he encontrado ninguna. Tampoco hay tantos ejemplos de Java SHA-3.
sun.security.Provider
tiene SHA-3, pero no es visible en Eclipse. Además, no estoy seguro de que el SHA-3 de este sol sea igual al SHA-3 de CryptoJS.
¿Podría alguien dar algunos ejemplos?
Gracias a @jdv por su respuesta. Estoy agregando más información para tener un comienzo rápido y un ejemplo.
Primero, agregue la dependencia de BouncyCastle maven, o consígala en Maven Central :
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.56</version>
</dependency>
Entonces podemos probarlo:
import org.bouncycastle.jcajce.provider.digest.SHA3;
import org.bouncycastle.util.encoders.Hex;
import org.junit.Test;
@Test
public void testSha3() throws Exception {
String input = "Hello world !";
SHA3.DigestSHA3 digestSHA3 = new SHA3.Digest512();
byte[] digest = digestSHA3.digest(input.getBytes());
System.out.println("SHA3-512 = " + Hex.toHexString(digest));
}
Obtendrás este resultado (512 bits o 64 bytes en hexadecimal):
SHA3-512 = e9a4fd120d684537d57f314d51213ce5acef8ff6974e2b7599674ef0f0a3cf111f0d26ed602db946739dada448210fb76a7621d7a8f07728372b10a97575f36
Puede compararlo con este resultado: https://duckduckgo.com/?q=sha3+%22Hello+world+!%22
La implementación de referencia común de Java para el soporte de criptografía y criptografía es probablemente BouncyCastle . Puede ser una gran biblioteca, por lo que a menudo buscamos en sun.security (con razón o sin ella).
De todos modos, BouncyCastle parece ofrecer org.bouncycastle.jcajce.provider.digest.SHA3.DigestSHA3
Se puede ver Implementación en Java.