OpenSSL é uma biblioteca de software para aplicativos que protegem as comunicações em redes de computadores contra espionagem ou necessidade de identificar a parte na outra extremidade. É amplamente utilizado por servidores da Internet , incluindo a maioria dos sites HTTPS .
Uma função Hash é qualquer função que pode ser usada para mapear dados de tamanho arbitrário para valores de tamanho fixo. Os valores são geralmente usados para indexar uma tabela de tamanho fixo chamada de tabela hash . Nós falamos mais sobre Hash nesse vídeo: O que é e como gerar uma HASH ? .
SHA-2 ( Secure Hash Algorithm 2 ) é um conjunto de funções criptográficas de hash projetado pela Agência de Segurança Nacional dos Estados Unidos (NSA) e publicado pela primeira vez em 2001.
SHA-2 inclui mudanças significativas em relação ao seu antecessor, SHA-1 . A família SHA-2 consiste em seis funções hash com resumos (valores hash) que são 224, 256, 384 ou 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA -512/256.
Antes de qualquer coisa você precisa instalar a biblioteca OpenSSL, use o gerenciador de pacotes da sua distro para isso, exemplo para sistemas que usam APT:
Observação: Geralmente, a maioria dos sistemas já possuem essa biblioteca instalada.
Existem outras bibliotecas que podem fazer a mesma coisa, mas a OpenSSL é a mais largamente utilizada principalmente para códigos escritos em C++ e C.
Para esse exemplo, vamos criar a hash da palavra Terminal Root .
nvim crypto.cpp
Para compilar use:
A saída será:
Que é a palavra Terminal Root criptografada.
Não use o comando porque o echo 'Terminal Root' | sha256sum
echo
possui um \n
.
Use o printf
se quiser comparar pelo terminal, exemplo:
Você também pode conferir se a hash gerada está realmente correta utilizando algum serviço online, exemplo o site: https://emn178.github.io/online-tools/sha256.html . Acesse o site e escreva a palavra que deseja no campo que tem a palavra Input, no campo abaixo desse mostrará a hash SHA256 .