我有一条信息是使用aes-256-cbc加密编码的。我应该如何将其存储在数据库中?目前,我正在使用VARCHAR(255)utf8_bin。这样可以吗?还是应该使用其他字段类型,例如VARBINARY(255)?在这种情况下,是否有可能使用VARCHAR丢失某些数据?谢谢。
最佳答案
尽管AES密文是二进制数据,因此在数据库中存储加密(而不是哈希)密码的可能(不合适)密码是二进制数据,因此是should be stored as such,即 BINARY
/ VARBINARY
列或 BLOB
。
也可以对密文进行编码,例如作为base64,然后将其存储在文本(即CHAR
/VARCHAR
/TEXT
)列中。这节省了空间,但有时可能更方便,例如在视觉上检查数据或在可能难以处理包含任意二进制数据的字段的程序之间传递数据时。
关于mysql - 如何在MySQL数据库中存储AES加密信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33701936/