Posso criptografar uma mensagem (string) usando uma chave pública no prompt de comando? Além disso, como descriptografar o resultado posteriormente?
Posso criptografar uma mensagem (string) usando uma chave pública no prompt de comando? Além disso, como descriptografar o resultado posteriormente?
Respostas:
Outra opção é openssl
:
# generate a 2048-bit RSA key and store it in key.txt
openssl genrsa -out key.txt 2048
# encrypt "hello world" using the RSA key in key.txt
echo "hello world" | openssl rsautl -inkey key.txt -encrypt >output.bin
# decrypt the message and output to stdout
openssl rsautl -inkey key.txt -decrypt <output.bin
Se você gpg
instalou, este é um método de criptografia de nível industrial.
gpg --encrypt -r destinatário@example.com> tempfile
Digite dados no console e pressione Ctrl+Dpara finalizar o texto. Isso fornecerá dados criptografados tempfile
. Para descriptografar:
gpg --decrypt <tempfile
Você precisará da senha para recipient@example.com
descriptografar a mensagem.
gpg --encrypt -r recipient@example.com >tempfile gpg: error retrieving 'recipient@example.com' via WKD: No data gpg: recipient@example.com: skipped: No data gpg: [stdin]: encryption failed: No data
(Estou em um mac) #
Gere um par de chaves públicas / privadas
$ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
Criptografe a string usando a chave pública e armazene em um arquivo
$ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
Descriptografar usando chave privada
$ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
stockexchange.com
Nota:
O crypt implementa uma máquina de um rotor projetada ao longo das linhas do Enigma alemão, mas com um rotor de 256 elementos. Os métodos de ataque a essas máquinas são amplamente conhecidos, portanto, a criptografia fornece segurança mínima.
Mas tudo bem para fins de demonstração.