Francisco Chaves

Francisco Chaves

Software Developer.
Chatbot Developer.

© 2024

Modo escuro

Crie Hash SHA-256 de texto e arquivo

Logo

Olá pessoal, no post anterior, criamos um gerador de hash MD5, e hoje será a vez de criamos o gerador de hash SHA-256 em Shell Script. Estou utilizando o Sistema Operacional Xubuntu 18.04.

Segundo a Wikipédia :

SHA-256 é usado como parte do processo de autenticação de pacotes de software Debian GNU/Linux […].

Abra o terminal com as teclas de atalho CTRL + ALT + T e execute o comando a seguir para visualizar o hash SHA-256 gerado, substitua your@email.com pelo seu e-mail:

echo -n "your@email.com" | sha256sum | cut -d ' ' -f1

Para o programa que criaremos a seguir, será necessário ter instalado o zenity software que permitir criar caixas de diálogo, para verificar se tem instalado no Sistema Operacional utilize o comando a seguir:

zenity --version

Caso não tenha o zenity instalado no seu computador, utilize o comando a seguir para instalar no Ubuntu e variações:

sudo apt-get -y install zenity

Crie um arquivo com o nome generator-sha256.sh e adicione o conteúdo abaixo:

#!/bin/bash

# Author: Francisco Chaves <https://franciscochaves.com.br>
# Description: SHA-256 hash generator

TITLE="SHA-256 hash generator"

SELECTED_TYPE=$(zenity --title="$TITLE" --list --text "Choose the type to create the hash" \
    --radiolist \
    --column "Select" \
    --column "Type" \
    TRUE Text FALSE File);

case $SELECTED_TYPE in
    "Text")
        TEXT_PHRASE=$(zenity --title="$TITLE" --text "What is the text or phrase?" --width="250" --height="100" --entry)
        if test -n "$TEXT_PHRASE";
        then
            HASH_SHA_256=$(echo -n $TEXT_PHRASE | sha256sum | cut -d ' ' -f1)
            zenity --info --title="$TITLE" --text="$HASH_SHA_256"
        else
            zenity --error --title="$TITLE" --text="Empty input" --width="150" --height="100"
        fi
        ;;
    "File")
        FILE=$(zenity --file-selection --title="Select a file")
        if test -e "$FILE";
        then
            HASH_SHA_256=$(sha256sum "$FILE" | cut -d ' ' -f1)
            zenity --info --title="$TITLE" --text="$HASH_SHA_256"
        else
            zenity --error  --title="$TITLE" --text="Not found file" --width="150" --height="100"
        fi
        ;;
        *)
        zenity --error --title="$TITLE" --text="Please select the type" --width="150" --height="100"
        ;;
esac

Atribua permissão de execução ao arquivo:

chmod +x generator-sha256.sh

Execute o arquivo:

./generator-sha256.sh

Código fonte do projeto está disponível em https://github.com/franciscojsc/hash-generator-scripts.

Referências

SHA-2. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2019. Disponível em: https://pt.wikipedia.org/w/index.php?title=SHA-2&oldid=56728902. Acesso em: 28 fev. 2020.

NEGROMONTE, Emanuel. Como verificar MD5SUM e o SHA256SUM no Linux via Terminal. SEMPREUPDATE, 17 out. 2018. Disponível em: https://sempreupdate.com.br/como-verificar-md5sum-e-o-sha256sum-no-linux-via-terminal. Acesso em: 22, set. 2019.

NEVES, Júlio Cezar. Exemplos de uso do comando cut. DICAS-L, 15 fev. 2018. Disponível em: https://www.dicas-l.com.br/arquivo/exemplos_de_uso_do_comando_cut.php. Acesso em: 22, set. 2019.

CASTRO, Sandro de. Verificando MD5 e SHA-256 de arquivos pelo terminal no Linux. Blog Opção Linux, 01 nov. 2016. Disponível em: https://www.blogopcaolinux.com.br/2016/11/verificar-md5-sha256-de-arquivos-terminal-linux.html. Acesso em: 15, fev. 2020.

#Compartilhe

Recomendado para você