GeeksforGeeks

  • par

Définition:
En cryptographie, SHA est une fonction de hachage cryptographique qui prend en entrée 20 octets et rend la valeur de hachage en nombre hexadécimal, de 40 chiffres environ.

Classe Message Digest:
Pour calculer la valeur de hachage cryptographique en Java, on utilise la classe MessageDigest, sous le paquet java.security.

La classe MessageDigest fournit la fonction de hachage cryptographique suivante pour trouver la valeur de hachage d’un texte, ce sont :

  1. MD5
  2. SHA-1
  3. SHA-256

Ces algorithmes sont initialisés dans la méthode statique appelée getInstance(). Après avoir sélectionné l’algorithme, il calcule la valeur du condensé et renvoie les résultats dans un tableau d’octets.

La classe BigInteger est utilisée, qui convertit le tableau d’octets résultant dans sa représentation signe-magnitude. Cette représentation est convertie au format hexadécimal pour obtenir le MessageDigest

Exemples :

Input : hello worldOutput : b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9Input : GeeksForGeeksOutput : 112e476505aab51b05aeb2246c02a11df03e1187e886f7c55d4e9935c290ade

.import

java.math.BigInteger;

importjava.nio.charset.StandardCharsets;

import

java.security.MessageDigest;
importjava.security.NoSuchAlgorithmException;
classGFG {
publicstaticbyte getSHA(String input) throwsNoSuchAlgorithmException
{
MessageDigest md = MessageDigest.getInstance("SHA-256");

.
D’un seul coup d’œil, on peut voir que la plupart des gens ne sont pas satisfaits.

returnmd.digest(input.getBytes(StandardCharsets.UTF_8));

}

publicstaticString toHexString(byte hash)
{

BigInteger number = newBigInteger(1, hash);

.

StringBuilder hexString = newStringBuilder(number.toString(16));

while(hexString.length() < 32)

{

hexString.insert(0, '0');

}
Identification de l’objet de l’enquête :

returnhexString.toString();

}
publicstaticvoidmain(String args)
.

{ try
{
System.out.println("HashCode Generated by SHA-256 for:");

String s1 = "GeeksForGeeks";

Div> System.out.println("\n"+ s1 + " : "+ toHexString(getSHA(s1)));
String s2 = "hello world";
System.out.println("\n"+ s2 + " : "+ toHexString(getSHA(s2)));

}

catch(NoSuchAlgorithmException e) { (NoSuchAlgorithmException e) {

.

System.out.println("Exception thrown for incorrect algorithm: "+ e);

}

}

}

.



Sortie :

HashCode Generated by SHA-256 for:GeeksForGeeks : 112e476505aab51b05aeb2246c02a11df03e1187e886f7c55d4e9935c290adehello world : b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Application:

  1. Cryptographie
  2. Intégrité des données
Balises de l’article :

Java

Tags de la pratique :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *