Maison >Java >javaDidacticiel >Comment générer des hachages SHA-256 à partir de chaînes en Java ?
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.
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.
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.
Utilisez la classe MessageDigest pour créer une instance de l'algorithme SHA-256 .
<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>
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>
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.
<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!