Maison  >  Article  >  Java  >  Comment implémenter le hachage sécurisé de chaînes en Java avec SHA-256 ?

Comment implémenter le hachage sécurisé de chaînes en Java avec SHA-256 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 05:38:30226parcourir

How to Implement Secure String Hashing in Java with SHA-256?

Chaîne de hachage Java à l'aide de SHA-256

Le hachage d'une chaîne à l'aide de SHA-256 en Java peut sembler une tâche simple, mais il existe différences cruciales entre le hachage et l'encodage qui nécessitent des éclaircissements.

SHA-256 (Secure Hash Algorithm-256) n'est pas un mécanisme d'encodage ; c'est une fonction de hachage à sens unique. Cela signifie que lorsque vous hachez une chaîne, vous produisez une séquence irréversible de données binaires.

Pour appliquer le hachage SHA-256 en Java, suivez ces étapes :

  1. Convertir Chaîne en octets : Convertissez la chaîne d'entrée en un tableau d'octets à l'aide d'un codage de caractères tel que UTF-8.
<code class="java">byte[] bytes = text.getBytes(StandardCharsets.UTF_8);</code>
  1. Créez une instance MessageDigest : Instanciez l'algorithme de résumé de message SHA-256.
<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>
  1. Mettre à jour le résumé de message : Insérez le tableau d'octets représentant la chaîne dans le résumé de message.
<code class="java">digest.update(bytes);</code>
  1. Calculer le hachage : Générez la valeur de hachage à partir du résumé du message.
<code class="java">byte[] hash = digest.digest();</code>

Remarque importante :

Le hachage résultant est au format binaire. Si vous souhaitez le représenter sous forme de chaîne, envisagez d'utiliser un codage base64 ou hexadécimal. Évitez d'utiliser le constructeur String(byte[], String), car cela pourrait entraîner des caractères tronqués.

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