명령 프롬프트에서 공개 키를 사용하여 메시지 (문자열)를 암호화 할 수 있습니까? 또한 나중에 결과를 어떻게 해독 할 수 있습니까?
답변
다른 옵션은 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
메시지를 해독하려면 암호가 필요합니다 .
답변
-
개인 / 공개 키 쌍 생성
$ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
-
공개 키를 사용하여 문자열을 암호화하고 파일에 저장
$ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
-
개인 키를 사용하여 암호화 해제
$ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string stockexchange.com
답변
노트:
crypt는 German Enigma의 선을 따라 설계되었지만 256 요소 로터가있는 단일 로터 시스템을 구현합니다. 이러한 시스템에 대한 공격 방법은 널리 알려져 있으므로 암호화는 최소한의 보안을 제공합니다.
그러나 데모 목적으로는 괜찮습니다.