Francisco Chaves

Francisco Chaves

Software Developer. Entusiasta Linux.

© 2020

Modo escuro

Crie Hash MD5 de texto e arquivo

Pinguim Tux mascote do Linux, segurando uma chave com a mão esquerda  e a palavra MD5 em cima da chave

Olá pessoal, hoje iremos criar um gerador de hash MD5 em Shell Script, estou utilizando o Sistema Operacional Xubuntu 18.04.

Segundo a Wikipédia:

md5sum é um programa de computador de código aberto que permite verificar a integridade de arquivos transmitidos por rede, como a internet, garantindo que os dados não tenham sidos corrompidos durante a transferência.

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

echo -n "your@email.com" | md5sum | 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-md5.sh e adicione o conteúdo abaixo:

#!/bin/bash

# Author: Francisco Chaves <https://franciscochaves.com>
# Description: MD5 hash generator

TITLE="MD5 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="150--height="100" --entry)
        if test -n "$TEXT_PHRASE";
        then
        HASH_MD5=$(echo -n $TEXT_PHRASE | md5sum | cut -d ' ' -f1)
        zenity --info --title="$TITLE" --text="$HASH_MD5"
        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_MD5=$(md5sum "$FILE" | cut -d ' ' -f1)
            zenity --info --title="$TITLE" --text="$HASH_MD5"
        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-md5.sh

Execute o arquivo:

./generator-md5.sh

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

Referências

MD5SUM. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2018. Disponível em: https://pt.wikipedia.org/w/index.php?title=Md5sum&oldid=53378918. Acesso em: 22 set. 2018.

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.

×

Inscreva-se para novas atualizações