Encryption 是否需要为加密字符串指定内容类型?

Encryption 是否需要为加密字符串指定内容类型?,encryption,content-type,Encryption,Content Type,我的脚本返回一个加密字符串,但默认情况下,它是text/html内容类型。我应该改为将内容类型指定为text/plain吗 我知道它不会损害任何东西,但加密字符串的正确内容类型是什么 已更新:字符串已使用加密。此数据的安全性没有问题。正确的“字节流”内容类型是应用程序/八位字节流。一般来说,加密数据只是一个“字节流”。也就是说,根据确切的格式,许多其他内容类型可能是合适的。例如,如果您使用,它将定义所使用的特定格式类型,包括application/pgp encrypted和applicatio

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

我知道它不会损害任何东西,但加密字符串的正确内容类型是什么


已更新:字符串已使用加密。此数据的安全性没有问题。

正确的“字节流”内容类型是应用程序/八位字节流。一般来说,加密数据只是一个“字节流”。也就是说,根据确切的格式,许多其他内容类型可能是合适的。例如,如果您使用,它将定义所使用的特定格式类型,包括application/pgp encrypted和application/pgp signature(作为多部分/加密消息的一部分)。您可以在MIME框架内自由地创建自己的规范

但是,如果您没有更好的应用程序,也不想发明任何东西,那么正确的回退方法是application/octet stream,这意味着“这里是字节;请传递它们而不进行解释。”

不清楚“加密字符串”是什么意思,但如果您的意思是将这些字节编码为UTF-8或ASCII(例如,使用Base64),那么如果您不想表达有关数据的更多信息,则可以接受文本/纯文本。text/plain确实表明它是人类可读的,但您至少表示它是可显示的(它不包括控制字符或其他非打印内容),所以这并不是不合理的。text/html在这里没有任何意义,因为您不打算将其解释为html


应用程序/八位字节流和文本/纯文本在实践中的主要区别在于浏览器和类似浏览器的东西倾向于下载和保存应用程序/八位字节流,并且倾向于显示文本/纯文本。您更喜欢哪种行为会促使您做出选择。

使用mcrypt加密不会对这个问题产生太大影响。您正在生成一个加密字节序列。如果这正是您要输出的内容,那么application/octet流是合适的,除非您想围绕它创建其他语义包装器。这正是我要输出的内容。非常感谢。