PHP 如何生成16位的MD5哈希

PHP md5的值默认是32位的。如何得到16位的。网上有很多是通过字符串截取8,16位的字符来实现。这种方式靠谱吗?

阅读 16.3k
4 个回答

16位MD5是通过32位截取过来的。一般是截取中间16位

substr(md5('xxx'), 8, 24)

md5函数第二个参数设置为TRUE,结果将以16字节长度的原始二进制格式返回,是不是这个?

已修改 参考@xialeistudio 胖友的答案

1.PHP md5的值默认是32位的。如何得到16位的
php md5 文档

If the optional raw_output is set to TRUE, then the md5 digest is instead returned in raw binary format with a length of 16.

注:返回的是2进制而不再是16进制

2.网上有很多是通过字符串截取8,16位的字符来实现。这种方式靠谱吗?
为什么要截取8,16
https://md5jiami.51240.com/
从加密后的结果看来16位的和32位的第8-24位是一样的
肯定没有32位的靠谱

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏