【发布时间】:2014-06-27 04:17:03
【问题描述】:
目标是使用 INT(不是 BIGINT 或 MEDIUMINT)将哈希存储在 mysql 数据库中。
md5('string', true) 返回二进制数据,16 字节散列。我以为我可以 grep 前 4 个字节并将其转换为 INT(32bit/4bytes) 整数,但我不知道该怎么做。
你有什么建议?谢谢。
【问题讨论】:
-
$int = bindec(substr(md5('string', true),0,4))或$int = hexdec(substr(md5('string'),0,8))- 但是,很明显,这不会存储整个哈希值,只存储它的前 4 个字节。 -
请问,这样的“哈希”目的是什么?
-
@DaveRandom:
bindec不起作用(hexdec起作用)。 -
@hakre 确实不起作用 - 为什么会这样?
-
@cedivad:你的 MySQL 中的 INT 是有符号的还是无符号的?