php 使用 md5 函数生成 16 位 md5 值返回乱码的原因以及解决方法
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

一直以来都是使用 32 位的 md5 码,最近有个需求是要用 16 位 md5 码,查了 php 官方手册,采用如下方式生成 md5 码,结果却返回乱码。
$code = md5($str,true);//$code 是乱码又仔细的看了眼手册,手册中关于第二个参数的描述是:如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以 16 字节长度的原始二进制格式返回。
而对于 md5 函数的默认返回值定义是:以 32 字符十六进制数字形式返回散列值。
也就是说,我们平时使用 md5 返回的是32 字节长度的十六进制数字形式,如果第二个参数设置为 true 返回的是16 字节长度的原始二进制格式。虽然有点绕口,但很显然两种返回格式是完全不同的,因此也就导致了乱码的产生。
解决方法有两种,一是将这个 16 字节的原始二进制格式码转为十六进制;二是采取截取的办法,因为一个值的 32 位 md5 码的第 8 到 24 位和 16 位 md5 的字符串是一样的。
附解决方法二代码:
$code = substr(md5($str),8,16);//$code 是 16 位的 md5 码。猜你可能想看的VPS
- 便宜 Hostmem→1 核 1G 20G 硬盘 200Mbps 100全球[VPS测评]
- 疯狂猜成语 图猜成语四个人分别为小孩老人病人和天使(死人)是什么成语?全球[VPS测评]
- 便宜 HoRain Cloud→¥208 年付 1 核 512M 1T 日本VPS[主机]
- DediPath→美国纽约特价服务器 $99 月 E3-1270v2 1美国VPS[主机]
- 国内虚拟主机 国内空间推荐 TOP 榜虚拟空间(主机)
- 网络较差-SoftShellWeb→首月 0.01-0.02 美元 KV全球[VPS测评]
- porkbun - 域名注册.com 首年$5.95 .net 首年$6全球[VPS测评]
- 不限流量 FirstByte 夏季折扣→俄罗斯 美国 欧洲 VPS 五折美国VPS[主机]
- stsdust 广州移动 vds 预售,1Gbps 带宽无限流量,硬件资全球[VPS测评]
- 如何检测WordPress博客的访问速度?全球[VPS测评]
- 百度网盘开源高速下载神器 :BaiduCDP全球[VPS测评]
- SEO关键词与营销分析工具:SemRush, SimilarWeb 和 全球[VPS测评]
- 搬瓦工VPS面板新增Mount ISO内置100+系统镜像 附安装Gno全球[VPS测评]
- 使用 HE Tunnel Broker 的 IPv6 隧道免费给 I全球[VPS测评]
- JustVPS 新加披云服务器促销,首年优惠,年付$37.35起全球[VPS测评]
- 我爱水煮鱼WordPress SEO 宝典:怎么才能让你的博客流量增长1全球[VPS测评]
- DMIT.io → 2G 内存 20G SSD 无限流量 200M带宽 全球[VPS测评]
- 做跨境电商,如何打造私域流量?全球[VPS测评]
- 曾经最大跨境电商平台团队收缩,只剩20人丨GoingGlobal周报全球[VPS测评]
- 云服务器和服务器各有什么优缺点?全球[VPS测评]
- 金斗云双12活动:全场8折起,美国圣何塞CN2 GIA高防VPS20元/美国VPS[主机]
- 港网科技怎么样?国内BGP云主机,2核2G5M带宽仅377.46元/年全球[VPS测评]
- 极客主机,优惠8折充值返25%,香港CN2VPS,日本软银VPS,新加坡日本VPS[主机]
- CubeCloud,香港cn2,美国cn2 gia线路vps主机,2核1美国VPS[主机]
- 跨境贸易和跨境电商的三大区别简单分析全球[VPS测评]
- 恒创主机优惠码85折_服务器优惠券8折_恒创科技优惠_代金券全球[VPS测评]
- HostKvm:韩国香港vps10月份最新促销,海外VPS全场八折优惠韩国VPS[主机]
- 春天的风最容易温暖心灵,适合朋友圈和抖音的12条文案全球[VPS测评]
- 无忧云:香港大埔/荃湾云服务器5折优惠,可叠加优惠码,国内高防78元起香港VPS[主机]
- 一个纯CSS ToolTip提示工具组件,鼠标悬停的时候会出现气泡文字提全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-220556.html











