我有一条使用aes-256-cbc加密编码的信息。我该如何将其存储在数据库中?目前我正在使用VARCHAR(255)utf8_bin。这样可以,还是应该使用其他字段类型,如VARBINARY(255)?在这种情况下,是否有可能使用VARCHAR丢失一些数据?感谢。
答案 0 :(得分:7)
尽管在数据库中存储加密(而不是散列)密码的可能性(in),AES密文是二进制数据,因此是should be stored as such,即BINARY
/ VARBINARY
列或{ {3}}
也可以对密文进行编码,例如:作为BLOB
,然后将其存储在文本(即CHAR
/ VARCHAR
/ TEXT
)列中。这节省空间,但可能有时更方便,例如在视觉上检查数据或在可能无法处理包含任意二进制数据的字段的程序之间传递数据时。