Saltar al contenido

Calcular SHA 3 Hash en Java

Solución:

La implementación de referencia común de Java para el soporte de cifrado y cifrado es probablemente BouncyCastle. Puede ser una gran biblioteca para traer, razón por la cual a menudo recurrimos a la seguridad solar (correcta o incorrectamente).

De todos modos, BouncyCastle parece ofrecer org.bouncycastle.jcajce.provider.digest.SHA3.DigestSHA3

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 Maven de BouncyCastle, 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á este resultado (512 bits o 64 bytes en hexadecimal):

SHA3-512 = e9a4fd120d684537d57f314d51213ce5acef8ff6974e2b7599674ef0f0a3cf111f0d26ed602db946739da448210fb76a7621d7a8f07728372b10a975f36d8e

Puedes compararlo con este resultado: https://duckduckgo.com/?q=sha3+%22Hello+world+!%22&ia=answer

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *