Enviado em 01/11/2019 - 08:18h
No script o usuário tera que cadastrar um usuário e senha, irei armazenar este login em um arquivo mas como fazer isso de forma segura?
Enviado em 01/11/2019 - 08:18h
Enviado em 01/11/2019 - 09:16h
Enviado em 07/11/2019 - 21:34h
echo "fofinho123" | md5sum | cut -d' ' -f1
1d0be716ce45c7009450d2a7e73dde8e
Enviado em 09/11/2019 - 03:24h
#!/bin/sh
logins='login_info' # Arquivo onde serao salvas as informacoes de login dos usuarios
cadastrarUsuario() {
local login senha senha_ salt
read -p 'Login de acesso: ' login
grep "^${login}:" $logins > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 'Usuario ja cadastrado.'
exit 1
fi
stty -echo
read -p 'Senha: ' senha
echo ''
read -p 'Repetir senha: ' senha_
stty echo
if [ "$senha" != "$senha_" ]; then
echo 'As senhas nao coincidem!'
exit 1
fi
salt=$(head -c 512 /dev/urandom | tr -cd '[:graph:]' | cut -c 1-16)
echo "${login}:${salt}:$(echo ${salt}$senha | sha256sum | awk '{print $1}')" >> $logins
return 0
}
validarUsuario() {
local login senha salt hash_
read -p 'Login: ' login
stty -echo
read -p 'Senha: ' senha
stty echo
echo ''
salt=$(grep "^${login}:" $logins | cut -d ':' -f 2)
hash_=$(grep "^${login}:" $logins | cut -d ':' -f 3)
if [ "$hash_" != $(echo "${salt}$senha" | sha256sum | awk '{print $1}') ]; then
echo 'Usuario ou senha invalidos!'
exit 1
fi
echo "Login realizado com sucesso."
return 0
}
[ "$1" == '-d' ] && validarUsuario || cadastrarUsuario
Entre na sua conta para responder.