关键词:邮件 字符集 透明加密
研究邮件加密技术时,总结了关于编码字段中字符集的一些知识。
关于邮件透明加密,推荐一款产品,天御云安推出的隐秘邮在确保邮件内容加密的同时,部署对于用户也是透明的,既满足加密需求也不影响用户使用习惯。网址: https://mail.tyyunan.com/
关于编码字段中字符集的总结:
“编码”的合法值是“Q”和“B”。这些编码如下所述。当大多数要编码的字符都在ASCII字符集中时建议使用“Q”编码; 否则,应该使用“B”编码。尽管如此,一个可以解析encoded-word(编码字符)的邮件阅读器必须能够接受任何字符集的编码支持。
可打印的ASCII字符只有一部分可用于“encoded-text ”。空格和制表符不允许,因此encoded-word(编码字符)的开始和结尾是很明显可以看出来的。“?”字符用在'encoded-word(编码字符)'内以分开各种字符'encoded-word'的部分彼此相关,因此不能出现在“encoded-text”部分。其他字符在某些情况下也是非法的。
例如,标题头发件人部分中,在地址信息前的短语中出现的’encoded-word’在RFC822中没有包含任何特殊的定义。
最后,还有其他的字符在某些情况下是不允许的,以确保消息通过互联网邮件网关的可靠性。
“B”编码自动满足这些要求。“Q”编码允许使用广泛的可打印字符消息头(例如主题)中的非关键位置可用于其他位置的字符较少。
1、“B”编码
“B”编码与RFC定义的“BASE64”编码相同2045。
2、“Q”编码
“Q”编码类似于“Quoted-Printable”内容 - 传输编码在RFC 2045中定义。它被设计成当一段文本大部分由ASCII字符构成时,在ASCII终端上即使不解码也可以辨别出原文。
(1)任何8-bit值可以用“=”后面跟两个十六进制数字来表示。
例如,如果使用的字符集是ISO-8859-1,那么“=”字符将被编码 为“=3D”,同理,一个‘space’将被编码成“=20”。(大写字母应该 在“A”到“F”的十六进制数字之间。)
(2)8-bit十六进制值20(例如ISO-8859-1 SPACE)可以表示为“ ”(下 划线,ASCII 95)。(这个字符可能不能通过一些互联网邮件网关,但 它的使用将极大地改善不支持此编码的阅读器对“Q”编码数据的可读性。)请注意,“ ”总是表示十六进制20,即使SPACE字符在现有已使用的字符集中使用了不一样的编码值。
(3)与可打印的ASCII字符相对应的8-bit值除了“=”,“?”和“_”(下划线),可以被表示为别的字符外。在特殊强情况下,SPACE和TAB在编码后是绝不能表示为它们自己。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69911143/viewspace-2642947/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69911143/viewspace-2642947/