Para criptografia simétrica, você pode usar enc(1)
, que faz parte do openssl. Para criptografar um arquivo com cifra aes256-xts:
openssl enc -aes-256-xts -in foo.txt -out foo.txt.enc
E para descriptografar:
openssl enc -d -aes-256-xts -in foo.txt.enc -out foo.txt
Muito fácil, né?
Um outro recurso interessante é que ele suporta base64
, o que significa que usará apenas caracteres ascii. Basta adicionar -a
à lista de argumentos e depois ver o arquivo criptografado.
enc(1)
é um programa versátil. Eu uso frequentemente quando eu rapidamente quero copiar um arquivo ou um pequeno arquivo tar compactado de uma tela de terminal para outra, eu simplesmente só uso base64
.
Digamos que eu queira copiar rapidamente um diretório /home/drumfire/test
que contenha alguns arquivos e não possa usar scp
ou outras ferramentas. É trivial executar isso por meio de um programa de compactação e codificá-lo:
tar cf - /home/drumfire/test | xz -9ec | openssl enc -a
O resultado é uma bolha de texto ASCII. Eu escolho copiá-lo e, em seguida, no sistema de destino, posso simplesmente fazer:
openssl enc -a -d | xz -dc | tar xvf -
Nesse caso, Openssl
esperará pela entrada de stdin
. então eu apertei Shift + Insert que cola o texto, então pressione CTRL + D duas vezes e voila, ele extrai.
Coisas legais. B -)