在 MySQL 中将二进制字符串转换为 bigint?
我正在尝试将 MySQL 中的字符串哈希为 64 位值(bigint)。 我知道 MD5() 函数,它以二进制字符串形式返回 128 位哈希值。 我很乐意只取这个结果的底部或顶部 64 位。 但是,我无法弄清楚如何从二进制字符串类型转换为任何类型的数字类型。 有什么指点吗?
I am attempting to hash a string to a 64-bit value (bigint) in MySQL. I am aware of the MD5() function, which returns a 128-bit hash as a binary string. I'd be happy to just take the bottom or top 64 bits of this result. However, I cannot figure out how to get from a binary string type to a numeric type of any sort. Any pointers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
CONV()
函数将 MD5 哈希从基数 16 转换为基数 10,并使用CAST
将其转换为数字:Use the
CONV()
function to convert the MD5 hash from base 16 to base 10 andCAST
to convert it to a number:来源< /a>
Source
您还可以使用返回 32 位无符号值的 CRC32 函数。
文档
You could also use
CRC32
function that returns 32-bit unsigned value.Documentation