Como posso criptografar uma string no shell?


20

Posso criptografar uma mensagem (string) usando uma chave pública no prompt de comando? Além disso, como descriptografar o resultado posteriormente?

Respostas:


28

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

+1 para openssl uma vez que é mais comumente instalado que gpg é
Doug Harris

Isso é perfeito - funciona em Mac, Alpine, qualquer coisa ... bom trabalho!
Jeremy Iglehart 19/10/10

Sim, que tal um exemplo, não usando um arquivo, mas um argumento?
Alexander Mills

11

Se você gpginstalou, 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.comdescriptografar a mensagem.


ok, então, se a senha precisa ser inserida interativamente, como fazê-lo de maneira não interativa? Como isso não interativamente?
Alexander Mills

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) #
Alexander Mills

5
  1. 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
    
  2. 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
    
  3. Descriptografar usando chave privada

    $ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
    stockexchange.com
    

4

cripta de homem (1)

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.


"Biblioteca de informações do Oracle Solaris 10 8/11"
Sebas 26/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.