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

Do I need to specify the content type for encrypted string?

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

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

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

“字节流”的正确内容类型是application/octet-stream。在最一般的情况下,加密数据只是“字节流”。也就是说,根据确切的格式,许多其他内容类型可能也是合适的。例如,如果您使用 OpenPGP format,它会定义所使用的特定格式类型,包括 application/pgp-encrypted 和 application/pgp-signature 作为 multipart/encrypted 消息的一部分。您可以在 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.您更喜欢哪种行为应该会影响您的选择。