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.br>
# 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.