我有一段信息使用 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/