1200|2000.00所以我想使用 OpenSSL 和现有的公钥来加密字符串。
因此,我的文本存储在名为“plaintext.txt”的文件中,根据其他一些资源,我运行了以下命令。
\nopenssl rsautl -encrypt -pubin -inkey public.key -in plaintext.txt -out encrypted.txt\nRun Code Online (Sandbox Code Playgroud)\n但是,由于某种原因,在记事本中打开时我的输出如下所示......
\n\xe6\xad\x86\xe8\xb4\x8e\xe5\xb8\xa1\xe2\x9e\x83\xe5\x97\xbc\xe1\xbc\xbe\xe6\xaf\x92\xe4\x85\x82\xe6\xa9\x82\xe3\x80\x95\xe4\xa2\xa3\xe0\xa1\x9e\xe3\xa2\xa7\xed\x8d\x88\xeb\xb2\x89\xe1\xa2\xb0\xef\xbc\xa2\xe1\xb3\x92\xe5\x99\x8c\xe2\x9a\x9d\xea\xb0\x97\xe6\xbb\x94\xee\x9d\xb5\xe6\x9b\x8d\xe4\xab\xb5\xe7\x89\x9b\xe9\xb3\x9d\xe8\xbe\xbd\xe1\x86\x97\xe7\xb6\x8dE\xe5\xae\x9f\xe6\x82\x96\xe4\x97\xb9\xe8\xbc\xb4\xe5\x80\xb0\xd9\x88\xee\xa1\x98\xe6\x8a\xa0\xe5\xb3\xa4\xef\xbf\xbd\xe9\xa5\xad\xe4\x80\xbd\xe5\x98\x95\xef\xb0\x9c\xe3\x9d\xa4\xef\x84\x93\xe3\x82\xba\xeb\x98\xac\xe7\x83\xa7\xe5\xb5\x87\xe8\xaf\x99\xec\x85\x8e\xec\xb5\x85\xe1\x95\x80\xe1\x80\x8d\xe5\xb3\x87\xe8\xb4\x86\xe1\xb1\x95\xeb\x95\x83\xeb\xb9\xb8\xe8\xa6\x8d\xee\xa0\x8e\xed\x84\xb4\nRun Code Online (Sandbox Code Playgroud)\n而这又是我没想到的,难道我做错了什么吗?
\n任何人都可以帮我解决这个问题,因为我已被指示使用encrypted using openssl_public_encrypt method.
非常感谢任何帮助,谢谢!
\n您发布的命令的输出openssl rsautl是原始字节,而不是文本。这就是为什么当您在记事本中打开输出时看起来乱码的原因。
如果您希望输出openssl rsautl为可显示的文本,可以使用 Base64 编码对输出进行编码,然后将 Base64 编码的密文写入文件。这可以通过在命令行上将几个命令串在一起来完成,如下所示:
openssl rsautl -encrypt -pubin -inkey pub.key -in plaintext.txt | base64 > encrypted.txt
Run Code Online (Sandbox Code Playgroud)
您应该能够在记事本中打开encrypted.txt,或者在命令行上查看它,并查看base64编码的密文。
要解密 Base64 编码的密文,您需要执行以下操作:
cat encrypted.txt | base64 -d | openssl rsautl -decrypt -inkey priv.key
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5582 次 |
| 最近记录: |