Como posso criptografar texto sem formatação com uma senha no Linux?

2

link recebe uma mensagem de texto simples + entrada de senha e criptografa o texto simples. Eu quero fazer isso localmente no Linux. Existe um comando de uma linha que irá computar uma versão criptografada da minha mensagem que eu possa enviar por e-mail?

Meu objetivo é que o receptor possa decodificar a mensagem apenas com a senha.

Para ser claro, não tenho idéia do que são os vários esquemas de criptografia (AES, openSSL, RSA, GPG, sal, base64, DES, CBC, reentrante) e não estou realmente interessado em um projeto de pesquisa. Eu só quero um comando de uma linha como

encrypt message.txt -password=secret.txt

que seria decodificado como

decrypt message.txt -password=secret.txt

(Sim, usei o google primeiro. link não está me mostrando nada que eu entenda / pense que eu possa usar.

    
por isomorphismes 24.10.2014 / 23:15

2 respostas

2

O OpenSSL funcionará. De Como posso criptografar uma string no shell? :

# 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

Para uma abordagem mais simples, porém menos segura, tente o crypt: link

    
por 24.10.2014 / 23:25
1

A página openssl(1) fornece alguns exemplos sobre como fazer isso:

 ENC EXAMPLES
      Just base64 encode a binary file:

            $ openssl base64 -in file.bin -out file.b64

      Decode the same file:

            $ openssl base64 -d -in file.b64 -out file.bin

      Encrypt a file using triple DES in CBC mode using a prompted password:

            $ openssl des3 -salt -in file.txt -out file.des3

      Decrypt a file using a supplied password:

            $ openssl des3 -d -in file.des3 -out file.txt -k mypassword

      Encrypt a file then base64 encode it (so it can be sent via mail for
      example) using Blowfish in CBC mode:

            $ openssl bf -a -salt -in file.txt -out file.bf

      Base64 decode a file then decrypt it:

            $ openssl bf -d -a -in file.bf -out file.txt

Quanto à questão em questão, o esquema de criptografia específico só tem importância, uma vez que ambos os lados devem obviamente usar o mesmo. Se você não sabe qual usar, o Blowfish é provavelmente uma escolha sensata:

$ openssl bf -a -salt -in file.txt -out file.bf
$ openssl bf -d -a -in file.bf -out file.txt

Eu entendo que você sabe que criptografar algo sem saber pelo menos um mínimo sobre o sistema criptográfico usado é ... provavelmente imprudente. Pessoalmente, acho que um sistema como o GPG é mais adequado para sua tarefa, mas requer um pouco mais de configuração, portanto, tecnicamente não se encaixa na sua pergunta.

    
por 24.10.2014 / 23:25

Tags