如何使用带有给定 public 密钥的 openssl 加密小文本
How to encrypt a small text using openssl with a given public Key
所以我想使用 OpenSSL 和已经存在的 public 密钥来加密字符串 1200|2000.00
。
所以我的文本存储在一个名为 'plaintext.txt' 的文件中,并且根据其他一些资源,我 运行 以下命令。
openssl rsautl -encrypt -pubin -inkey public.key -in plaintext.txt -out encrypted.txt
但是,由于某些原因,我在记事本中打开时的输出如下...
歆贎帡➃嗼Ἶ毒䅂橂〕䢣࡞㢧퍈벉ᢰB᳒噌⚝갗滔曍䫵牛鳝辽ᆗ綍E実悖䗹輴倰و抠峤�饭䀽嘕ﰜ㝤ズ똬烧嵇诙셎쵅ᕀဍ峇贆᱕땃빸覍턴
这是我没有想到的事情,我做错了吗?
任何人都可以帮我解决这个问题,因为我被指示使用 encrypted using openssl_public_encrypt method
.
加密数据
非常感谢任何帮助,谢谢!
您发布的 openssl rsautl
命令的输出是原始字节,而不是文本。这就是为什么当您在记事本中打开它时输出看起来是乱码的原因。
如果您希望openssl rsautl
的输出是可显示的文本,您可以使用base64编码对输出进行编码,然后将base64编码的密文写入文件。这可以通过在命令行上将几个命令串在一起来完成,如下所示:
openssl rsautl -encrypt -pubin -inkey pub.key -in plaintext.txt | base64 > encrypted.txt
你应该可以用记事本打开encrypted.txt,或者在命令行查看,看到base64编码的密文。
要解密 base64 编码的密文,您需要执行以下操作:
cat encrypted.txt | base64 -d | openssl rsautl -decrypt -inkey priv.key
所以我想使用 OpenSSL 和已经存在的 public 密钥来加密字符串 1200|2000.00
。
所以我的文本存储在一个名为 'plaintext.txt' 的文件中,并且根据其他一些资源,我 运行 以下命令。
openssl rsautl -encrypt -pubin -inkey public.key -in plaintext.txt -out encrypted.txt
但是,由于某些原因,我在记事本中打开时的输出如下...
歆贎帡➃嗼Ἶ毒䅂橂〕䢣࡞㢧퍈벉ᢰB᳒噌⚝갗滔曍䫵牛鳝辽ᆗ綍E実悖䗹輴倰و抠峤�饭䀽嘕ﰜ㝤ズ똬烧嵇诙셎쵅ᕀဍ峇贆᱕땃빸覍턴
这是我没有想到的事情,我做错了吗?
任何人都可以帮我解决这个问题,因为我被指示使用 encrypted using openssl_public_encrypt method
.
非常感谢任何帮助,谢谢!
您发布的 openssl rsautl
命令的输出是原始字节,而不是文本。这就是为什么当您在记事本中打开它时输出看起来是乱码的原因。
如果您希望openssl rsautl
的输出是可显示的文本,您可以使用base64编码对输出进行编码,然后将base64编码的密文写入文件。这可以通过在命令行上将几个命令串在一起来完成,如下所示:
openssl rsautl -encrypt -pubin -inkey pub.key -in plaintext.txt | base64 > encrypted.txt
你应该可以用记事本打开encrypted.txt,或者在命令行查看,看到base64编码的密文。
要解密 base64 编码的密文,您需要执行以下操作:
cat encrypted.txt | base64 -d | openssl rsautl -decrypt -inkey priv.key