我正在寻找一种速记解决方案,将md5哈希存储在MySQL表中,作为字符串数据。我认为base256可以将字符串的长度减少一半,减少到16位数字符串而不是32位十六进制数字。所以我取十六进制并以编程方式将其分成两位数的块,然后将每组两位数转换为ASCII。例如:
4cf5f5941a02573dc007e60442f5358a
缩短为
Lõõ”W=ÀæBõ5Š
如果这些角色没有正确打印,那就没关系 - 我只需要存储它们。 MySQL会在没有抱怨的情况下将这种ASCII数据接受到文本字段吗?
答案 0 :(得分:1)
MySQL会接受这些值,但在编写时必须非常小心 - 我强烈建议使用绑定参数。
您可能希望将[{1}}和COMPRESS()
作为替代方案:
UNCOMPRESS()
和
INSERT INTO ... SET hashcode=COMPRESS('4cf5f5941a02573dc007e60442f5358a');
可能会让这个技巧更具可读性