쉘에서 문자열을 어떻게 암호화 할 수 있습니까? 암호화 할 수 있습니까?

명령 프롬프트에서 공개 키를 사용하여 메시지 (문자열)를 암호화 할 수 있습니까? 또한 나중에 결과를 어떻게 해독 할 수 있습니까?



답변

다른 옵션은 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

답변

이 경우 gpg설치, 이것은 업계 최강의 암호화 방법입니다.

gpg --encrypt -r recipient@example.com> tempfile

콘솔에서 데이터를 입력하고를 눌러 Ctrl+D텍스트를 종료하십시오. 그러면에 암호화 된 데이터가 제공됩니다 tempfile. 해독하려면

gpg --detemp <tempfile

recipient@example.com메시지를 해독하려면 암호가 필요합니다 .


답변

  1. 개인 / 공개 키 쌍 생성

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. 공개 키를 사용하여 문자열을 암호화하고 파일에 저장

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. 개인 키를 사용하여 암호화 해제

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

답변

남자 토굴 (1)

노트:

crypt는 German Enigma의 선을 따라 설계되었지만 256 요소 로터가있는 단일 로터 시스템을 구현합니다. 이러한 시스템에 대한 공격 방법은 널리 알려져 있으므로 암호화는 최소한의 보안을 제공합니다.

그러나 데모 목적으로는 괜찮습니다.