"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como implementar hashing de string seguro em Java com SHA-256?

Como implementar hashing de string seguro em Java com SHA-256?

Publicado em 19/11/2024
Navegar:538

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

Java Hash String usando SHA-256

Hashing de uma string usando SHA-256 em Java pode parecer uma tarefa simples, mas existem diferenças cruciais entre hashing e codificação que requerem esclarecimento.

SHA-256 (Secure Hash Algorithm-256) não é um mecanismo de codificação; é uma função hash unilateral. Isso significa que quando você faz o hash de uma string, você produz uma sequência irreversível de dados binários.

Para aplicar o hash SHA-256 em Java, siga estas etapas:

  1. Converter String para Bytes: Converta a string de entrada em uma matriz de bytes usando uma codificação de caracteres como UTF-8.
byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
  1. Criar instância MessageDigest: Instancie o algoritmo de resumo de mensagem SHA-256.
MessageDigest digest = MessageDigest.getInstance("SHA-256");
  1. Atualizar resumo da mensagem: Alimente a matriz de bytes que representa a string no resumo da mensagem.
digest.update(bytes);
  1. Calcular Hash: Gere o valor hash do resumo da mensagem.
byte[] hash = digest.digest();

Nota importante:

O hash resultante está em formato binário. Se você deseja representá-lo como uma string, considere usar codificação base64 ou hexadecimal. Evite usar o construtor String(byte[], String), pois isso pode resultar em caracteres ilegíveis.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3