MD5 / SHA1 / Base64
MD5
Gerando hash de uma string
# Linux
echo -n "teste" | md5sumGerando hash de um arquivo
# Linux
md5sum <arquivo>
# Windows
Get-FileHash <file> -Algorithm MD5
certutil -hashfile <file> md5O comando md5sum (Linux) possui o parâmetro -b, para realizar a operação em binário, pois por padrão ele utiliza a opção -t, que é a verificação com text.
SHA1
Gerando hash de uma string
echo -n "teste" | sha1sumGerando hash de um arquivo
# Linux
sha1sum <arquivo>
# Windows
certutil -hashfile <file> sha256Base64
Ahh o Base64... esse é um encoding que "talvez" nem deveria estar aqui na seção de criptografia, mas como é muito utilizada em torno de funções criptográficas, vale a pena citá-la. Basicamente, ele percorre todos os bytes e transforma cada conjunto de 6 bits em um byte legível (8 bits). O resultado é que o tamanho dos bytes codificados aumenta em cerca de 33%.
Encode
Linux
# Convertendo string em base64
echo -n "<string>" | base64
# Convertendo string em base64 e depois em MD5
echo -n "<string>" | base64 -w 0 | md5sum
# Encode de arquivo
base64 -w 0 <file>Windows
# Convertendo string em base64
$str = '<string>'
[System.Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($str))
# Encode de arquivo
[Convert]::ToBase64String((Get-Content -path "<file>" -Encoding byte))Decode
Linux
echo -n "dGVzdGU=" | base64 -d
base64 -d <file>
echo "dGVzdGU=" | python -m base64 -d
openssl enc -base64 -d <<< 'dGVzdGU='Windows (Powershell)
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('<base64_encode>'))
[IO.File]::WriteAllBytes("<output_file>", [Convert]::FromBase64String("<base64_encode>"))Execução de Comandos
Linux
echo '<base64>' | base64 -d | bashWindows
Powershell -EncodedCommand "d2hvYW1p"
iex ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String("d2hvYW1p")))
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String("d2hvYW1p")) | iex
iex ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("d2hvYW1p")))
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("d2hvYW1p")) | iexSites
# Como o base64 funciona
https://marquesfernandes.com/o-que-e-base64-para-que-serve-e-como-funciona/Last updated
Was this helpful?