【问题标题】:How do I use varbinary if I don't know the length of my text如果我不知道文本的长度,如何使用 varbinary
【发布时间】:2016-11-09 23:17:11
【问题描述】:

我想在mysql中使用AES加密文本,但是我有一个小问题,因为你需要使用varbinary来存储这些。

我的一些数据类型是 varchar,是的,我可能可以计算出我的 varbinary 的长度。但是对于我的地址字段,我使用 TEXT 数据类型,因为我们存储了中文地址,而且这些地址可能很长。我使用 TEXT 数据类型,因为您不需要在 mysql 中指定长度。

问题是使用 varbinary 你需要指定一个长度,而我真的不知道长度,因为地址可以是任意长度。

是否有某种二进制数据类型可用于无需指定数据长度的 AES?

【问题讨论】:

  • 你在blob 或二进制长对象之后。如果varbinary 是无字符集的varchar,那么blob 就是text
  • 谢谢。如果你留下你的评论作为答案,我可以投票给你
  • @Mjh 如果我没记错的话,那是二进制 Large 对象。还有一个MEDIUMBLOB and LARGEBLOB,所以称它为二进制 Long 对象可能会使读者感到困惑。否则提示当然没问题。
  • @MaartenBodewes - 感谢您的更正,已添加到答案中!

标签: mysql encryption text aes varbinary


【解决方案1】:

根据 cmets - 您需要 BLOB 数据类型,它是 Binary Large Object 的缩写(感谢 Maarten Bodewes 的澄清)。

BLOB 数据类型不会存储带有信息的字符集,它等效于没有字符集的 TEXT 类型。在cmets中提到,还有MEDIUMBLOBTINYBLOBLARGEBLOB等其他类型,在MySQL's manual page上都有介绍。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2019-11-11
    • 2012-10-06
    • 1970-01-01
    • 2022-01-07
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多