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
- Pacificrack→$9.89 年 1GB 内存 15GB SSD 虚拟空间(主机)
- VULTR→按小时计费 KVM 月费 3.5 美元起 新用户送 100 全球[VPS测评]
- 腾讯云秒杀→1C2G50G2M 三年 680 元 2C4G50G6M 三全球[VPS测评]
- 疯狂猜成语 图猜成语一只木盆往外泼水是什么成语?全球[VPS测评]
- 搬瓦工最便宜的 CN2 GT VPS 补货,1 核 1G 内存 1Gbp全球[VPS测评]
- VMware 提示→您已输入用户名 客户机操作系统将保留此用户名。全球[VPS测评]
- 抗投诉服务器 $180 每月 I3-3240 8G 内存 500G 硬盘全球[VPS测评]
- 免费 SSL 证书汇总收集整理全球[VPS测评]
- 阿里云企业云产品三折起→云服务器 2 核 8G6M 1645 元 3 年全球[VPS测评]
- 促销 数脉科技→香港双向 CN2 服务器低至 4 折 E3-1230v2香港VPS[主机]
- 如何为WordPress网站站外链接添加自动nofollow功能全球[VPS测评]
- 如何修复WordPress 5.1更新后评论回复按键失效问题全球[VPS测评]
- DediPath黑五全场VPS三五折,月付最低1.2美元起;高配便宜服务全球[VPS测评]
- 篱落主机 香港独立IP虚拟主机 年付90元 VPS 香港 BGP 多线机独立服务器[U]
- DediPath不走心的万圣节促销,VPS月付1.75美元起;便宜服务器全球[VPS测评]
- WordPress响应式主题Frontier,体积只有278 KB全球[VPS测评]
- centOS7系统下如何修改服务器SSH端口默认的22。全球[VPS测评]
- Maxkvm-新加坡 美国 AMD1C1G25GB 1TB 1Gbps 美国VPS[主机]
- CubeCloud 全场 85 折 洛杉矶 CN2 洛杉矶 C3 香港 香港VPS[主机]
- UOvz → 1 核心 1G 内存 500G 流量 50Mbps 带宽全球[VPS测评]
- 6种样式社交论坛网站HTML5模板 - Social全球[VPS测评]
- JGKVM:1核/512M/30G/600G/30Mbps/洛杉矶CN2全球[VPS测评]
- Fatal error: Allowed memory size of 全球[VPS测评]
- 印象云怎么样?85折香港安畅CN2vps带宽3M月付23元香港VPS[主机]
- 汇速云:香港沙田CN2云主机,2核CPU带宽1M月付6元,2核2M带宽月香港VPS[主机]
- 互盟云怎么样?1核2G云服务器仅468元/年,香港云主机58元/月香港VPS[主机]
- 柚子互联:美国洛杉矶CN2 vps,防御100G/带宽10M,28元/月美国VPS[主机]
- 乐趣云怎么样?香港美国云服务器首月8.8元,新增IP5元/个美国VPS[主机]
- 香港云服务器怎么选?云服务器性能测评对比香港VPS[主机]
- MineServer:香港CMI云服务器,1核/512MB/10GB空间虚拟空间(主机)
转载请注明原文地址:http://140.238.13.167:12355/read-214552.html











