Como posso criptografar uma string no shell?

15

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

    
por Der Hochstapler 10.08.2009 / 11:52

4 respostas

21

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
    
por 10.08.2009 / 12:11
8

Se você tiver gpg instalado, esse é um método de criptografia de intensidade industrial.

gpg --encrypt -r [email protected] >tempfile

Digite dados no console e pressione Ctrl + D para finalizar o texto. Isso fornecerá dados criptografados em tempfile . Para descriptografar:

gpg --decrypt <tempfile

Você precisará da frase secreta para [email protected] para descriptografar a mensagem.

    
por 10.08.2009 / 11:56
4

homem da cripta (1)

nota:

crypt implements a one-rotor machine designed along the lines of the German Enigma, but with a 256-element rotor. Methods of attack on such machines are widely known, thus crypt provides minimal security.

Mas tudo bem para fins de demonstração.

    
por 10.08.2009 / 11:55
0
  1. Gerar um par de chaves privada / pública

    $ 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 a chave privada

    $ string='openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat '; echo $string
    stockexchange.com
    
por 20.11.2017 / 18:59