使用GnuPG
进行加密时,有没有办法消除特殊字符。我得到了以下问题。
当我使用GPG
加密某些文字时,它会包含+
等特殊字符。
加密命令
--encrypt --armor --recipient
因此,当通过查询字符串传递此加密文本并尝试解密时。我收到以下错误。
错误
gpg: no valid OpenPGP data found.gpg: decrypt_message failed: Unknown system error
那么,有没有办法让GPG
不包含一些特殊字符?
答案 0 :(得分:0)
不,没有。 OpenPGP指定了两种编码,即您使用的ASCII装甲和二进制格式。
ASCII装甲最初是为邮件传输而开发的,只允许基本的7位ASCII字符而无需进一步编码。
网址编码需要其他限制或编码。如果您无法更改数据(并且无法使用GnuPG / OpenPGP),则必须添加由您选择的传输协议强制执行的其他编码。
幸运的是,C#内置了URL encoding and decoding methods个内容。如果传输大小很重要,我建议您也尝试对二进制数据进行URL编码,这可能会节省大部分数据。如果您很少传输小的加密消息,我会使用URL编码ASCII装甲消息,因为处理ASCII装甲字符串数据通常比交换二进制信息更强大。