gio*_*ozh -1 c unix openssl rsa
我正在使用这部分代码
char encrypted_text[1024];
RSA_public_encrypt(sizeof(message), message, encrypted_text, rsa, RSA_PKCS1_OAEP_PADDING);
printf("encrypted text: %s\n", encrypted_text);
Run Code Online (Sandbox Code Playgroud)
而optput是这样的:
v0 뷾s E Z N\ 6~ : & / 〜ͯ L d Ǡ E [ h U.vH2F1Qb^) g ,a Ҩ xvU| > ˢ=W ő \ g
有可能消除 符号??
字符串打印效果不佳,因为它是二进制数据,而不是文本.它并不意味着人类可读.
使二进制数据文本友好的一种常用方法是对其进行base64编码.Base64编码将二进制数据转换为ASCII字符串.编码的文本仍然不是人类可读的,所以当你打印时它仍然看起来像gobbledygook,但它至少在眼睛上很容易,很容易粘贴到文本文件中,易于发送电子邮件.
有关在C中执行base64编码/解码的方法,请参阅此Stack Overflow问题.