php之将 MongoDB id 缩减为更短的散列
haluo1
阅读:52
2024-02-27 23:08:18
评论:0
我正在寻找将 MongoDB id 504aaedeff558cb507000004
转换为 PHP
中较短表示的最佳方法?基本上,用户可以在应用程序中引用 id,而那个长字符串很难。
需要注意的是,碰撞应该“罕见”。我们能否以某种方式将其减少到 4、5 或 6 个字符?
谢谢。
请您参考如下方法:
虽然十六进制数字可以存储 16 种不同的状态,但 base64 编码的数字可以存储 64 种不同的状态,因此您可以将整个 MongoDB Id 存储为 16 位而不是 24 位,而不会丢失任何信息:
print hexToBase64("50b3701de3de2a2416000000") . "\n"; # -> ULNwHePeKiQWAAAA
print base64ToHex("ULNwHePeKiQWAAAA") . "\n"; # -> 50b3701de3de2a2416000000
function base64ToHex($string) {
return bin2hex(base64_decode($string));
}
function hexToBase64($string) {
return base64_encode(hex2bin($string));
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。