加密字符串需要指定内容类型吗?

问题描述 投票:0回答:1

我的脚本返回一个加密的字符串,但默认情况下,它是文本/html 内容类型。我应该将内容类型指定为 text/plain 吗?

我知道这不会造成任何伤害,但是加密字符串的正确内容类型是什么?

已更新:字符串已使用 mcrypt_encrypt 加密。无需担心此数据的安全性。

encryption content-type
1个回答
14
投票

“字节流”的正确内容类型是 application/octet-stream。在最一般的情况下,加密数据只是“字节流”。也就是说,根据确切的格式,许多其他内容类型可能也是合适的。例如,如果您使用 OpenPGP 格式,它定义了使用的特定格式类型,包括

application/pgp-encrypted
application/pgp-signature
作为多部分/加密消息的一部分。您可以在 MIME 框架内自由发明自己的规范。

但是如果你没有更好的应用,也不想发明任何东西,正确的回退是

application/octet-stream
,意思是“这里是字节;请将它们传递下去,不要解释。”

不清楚你所说的“加密字符串”是什么意思,但如果你的意思是你已经将这些字节编码为 UTF-8 或 ASCII(例如使用 Base64),那么如果你不想这样做,

text/plain
是可以接受的表达更多关于数据的信息。
text/plain
确实表明它是人类可读的,但你至少表达了它是可显示的(它不包括控制字符或其他不可打印的字符),所以这不是不合理的。
text/html
在这里没有任何意义,因为您不打算将其解释为 HTML。

application/octet-stream
text/plain
在实践中的主要区别是浏览器和类似浏览器的东西会倾向于下载和保存
application/octet-steam
,并且会倾向于显示
text/plain
。您更喜欢哪种行为应该会影响您的选择。

© www.soinside.com 2019 - 2024. All rights reserved.