我想在mysql中使用AES加密文本,但我遇到一个小问题,因为你需要使用varbinary来存储它们。
我的一些数据类型是varchar,是的,我可以计算出我的varbinary的长度。但是对于我的地址字段,我使用TEXT数据类型,因为我们存储了中文地址,这些地址可能很长。我使用TEXT数据类型,因为您不需要在mysql中指定长度。
问题是使用varbinary你需要指定一个长度,我真的不知道长度,因为地址可以是任意长度。
我可以使用哪种二进制数据类型用于AES,我不必指定数据的长度吗?
答案 0 :(得分:3)
根据评论 - 您需要BLOB
数据类型,这是二进制大对象的简称(感谢Maarten Bodewes澄清)。
BLOB
数据类型不会存储包含该信息的字符集,并且相当于TEXT
类型,没有字符集。正如评论中所提到的,还有其他类型,例如MEDIUMBLOB
,TINYBLOB
,LARGEBLOB
,它们都包含在MySQL's manual page中。