繁体   English   中英

我应该使用哪种数据类型在MySQL上存储较长的加密消息?

[英]What datatype should I use to store long encrypted messages on MySQL?

我正在开发一个Web应用程序,该应用程序将允许用户编写消息并将其存储在数据库中,以供其他有意使用的用​​户访问。 我已经准备好了用户身份验证系统,并且加密系统也可以正常工作,但是对于用于存储消息的数据类型感到困惑。

我正在将MySQL数据库与PHP一起使用,以存储使用openssl AES-256加密的值。 产生的密文是二进制的,我需要将它们存储在数据库中。

现在,我可以尝试使用base64对二进制字符串a进行编码,但是它将数据的大小从33%增加到100%。

消息可能很长,我希望我的数据库不会被性能或存储功能搞砸。 由于某些原因,我还必须坚持使用MySQL。

那么我应该使用BLOB还是TEXT? 就性能而言,哪一个效率更高? 而且,应该是类似TINYTEXT, TEXT, MEDIUMTEXT, or LONGTEXT的类型,还是BLOB的相应类型?

我想确保同时实现更快的性能和存储功能。

谢谢您的帮助!

是的,如果您可以将值存储在“ TEXT”数据类型中会更好。 有关更多详细信息,请阅读此http://dev.mysql.com/doc/refman/5.5/en/blob.html

关于存储需求的知识,您可以阅读http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM