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
- MoeCloud→600 元 年 512MB 内存 5GB SSD 空间虚拟空间(主机)
- Ikoula→€53.99 月 i5-9600K 64GB 内存 960全球[VPS测评]
- 便宜 VPS $15 年 1G 内存 10G SSD 2T 流量 1Gb全球[VPS测评]
- 疯狂猜成语 图猜成语一个外国人跟中国人说逆好是什么成语?全球[VPS测评]
- 数脉科技→365 元 月-E3 1230v2 16GB 1TB 10M 香港VPS[主机]
- CombCloud 母亲节促销 7.5 折优惠,香港沙田 大浦 CN2,香港VPS[主机]
- edgenat 高配韩国 cn2 vps 五一特惠,8 核 8G80 元韩国VPS[主机]
- DiyVM→69 元 月 XEN-2GB 50GB 8M 洛杉矶(CN2全球[VPS测评]
- 疯狂猜成语 图猜成语一个寸字一个步字在一个圆圈里是什么成语?全球[VPS测评]
- 全世界最便宜的域名注册商 Porkbun .com 域名首年付4.15刀全球[VPS测评]
- 宝塔面板免费版如何开启 waf 防火墙全球[VPS测评]
- 野草云香港特价独立服务器199元/月起,大陆优化BGP线路独立服务器[U]
- “休闲养蜂”风靡海外跨境电商追逐垂直风口全球[VPS测评]
- tmhhost:香港CN2/NNT,美国CN2 GIA VPS,韩国CN韩国VPS[主机]
- 手帕云,便宜小带宽香港CN2 VPS,集群10G防御,双向CN2直连,仅香港VPS[主机]
- sugarhosts首推DECADE云服务器,香港云服务器,1核512M香港VPS[主机]
- 云服务器都是有哪些特点?全球[VPS测评]
- 拼多多也要做跨境电商?出海之路能一帆风顺吗,了解一下全球[VPS测评]
- 持续高温!长沙所有初中新生停止军训!全球[VPS测评]
- 人们为啥不爱吃海底捞了?海底捞上半年亏损达2.97亿 网友神评扎心全球[VPS测评]
- 易凡云:香港CN2 2核2G云服务器仅29.78元/月,357元/年香港VPS[主机]
- 56云服务器怎么样?56云免备案香港云服务器价格多少钱?香港VPS[主机]
- 极光KVM:美国香港vps CN2 GIA专线高速稳定,BGP服务器低至美国VPS[主机]
- 易凡云:香港CN2 2核2G云服务器仅29.78元/月,357元/年香港VPS[主机]
- btcvps,比特云怎么样?香港VPS,KVM架构带宽4M月付88港币香港VPS[主机]
- 纳米云怎么样?纳米云香港vps,4核1G主机价格80元/月香港VPS[主机]
- 戈登云VPS,6折,充值送50%,香港cn2,美国cn云服务器,2核2G美国VPS[主机]
- 百家云服务器怎么样?免备案香港云服务器、即开即用香港VPS[主机]
- TabbyCloud:1核/1GB/20GB/2TB流量/50Mbps/香港VPS[主机]
- Vmshell:香港数据中心200MB/S大带宽vps,庆典活动(3日内香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-217544.html











