Maison >Java >javaDidacticiel >Comment générer des hachages SHA-256 à partir de chaînes en Java ?

Comment générer des hachages SHA-256 à partir de chaînes en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 06:24:01652parcourir

How to Generate SHA-256 Hashes from Strings in Java?

Java : hachage de chaînes avec SHA-256

Le hachage de chaînes à l'aide de SHA-256 est couramment utilisé pour garantir l'intégrité des données, fournir un stockage sécurisé de mots de passe ou générer des identifiants uniques. En Java, cette opération peut être effectuée rapidement et facilement.

Étape 1 : Comprendre l'algorithme SHA-256

SHA-256 (Secure Hash Algorithm 256) est une fonction de hachage cryptographique unidirectionnelle. qui produit une valeur de hachage de taille fixe à partir d'une chaîne d'entrée. Cette valeur de hachage est unique et ne peut pas être inversée pour obtenir la chaîne d'origine.

Étape 2 : Choisissez un encodage

SHA-256 fonctionne avec des tableaux d'octets, donc avant de hacher une chaîne, vous devez convertissez-le en un tableau d'octets. Utilisez un codage tel que UTF-8, que la plupart des langages de programmation prennent en charge par défaut.

Étape 3 : Créer une instance MessageDigest

Utilisez la classe MessageDigest pour créer une instance de l'algorithme SHA-256 .

<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>

Étape 4 : hacher la chaîne

La digestion ou le hachage de la chaîne implique de transmettre le tableau d'octets dans l'instance de digestion. Le résultat de cette opération est la valeur de hachage SHA-256 sous la forme d'un tableau d'octets.

<code class="java">byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));</code>

Conversion de tableau d'octets en chaîne

Comme la valeur de hachage est un tableau d'octets, vous il faudra peut-être le convertir dans un format plus lisible pour l’affichage ou le stockage. Les options courantes incluent base64 ou hexadécimal.

Exemple de code

<code class="java">import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;

public class SHA256Hashing {

    public static byte[] hashSHA256(String text) {
        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-256");
            return digest.digest(text.getBytes(StandardCharsets.UTF_8));
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }
}</code>

En utilisant la méthode hashSHA256 ci-dessus, vous pouvez désormais hacher les valeurs de chaîne facilement et en toute sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn