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
- 加速云→四川德阳高防 525 元 16 核 16g 内存 200gSSD全球[VPS测评]
- 便宜 Dogyun→香港机房 CN2 线路 2G 内存 20G SSD 香港VPS[主机]
- 便宜 Dogyun→78 折优惠开启 1 核 512M 10G SSD 全球[VPS测评]
- 圣诞促销 RackNerd→512M 内存 11G SSD 2.5T 流全球[VPS测评]
- 不限流量 $18 年 1G 内存 20G SSD 100Mbps 不限量全球[VPS测评]
- 1M 等于多少字节全球[VPS测评]
- hostkvm - 日本 KVM VPS 80Mbps 带宽 2 核 1日本VPS[主机]
- 桔子数据日本 CN2 上线,三网回程 GIA,VPS 最高提供 20 个站群服务器[IP]
- VIRPUS 三折→西雅图 XEN VPS 月付 1.5 美元起全球[VPS测评]
- 做站推荐 腾讯云秒杀→香港 2G 套餐年付 249 元 国内 2G 套餐香港VPS[主机]
- 四月优惠 PacificRack→三款特价套餐 2 核 1.5G 20G全球[VPS测评]
- 百度统计是否会影响博客在百度的优化排名?全球[VPS测评]
- 哪种类型的网站最容易获得Adsense稳定收入?全球[VPS测评]
- Kimsufi KS3(法国) & KS7(CA) 促销全球[VPS测评]
- 拼多多入局跨境电商平台,首站美国;奈雪的茶在上海建第二总部;pidan“美国VPS[主机]
- LOCVPS,全新香港大浦CN2 VPS 2核4G内存3M仅54/月香港VPS[主机]
- 如何设置必应api 自动推送网站全球[VPS测评]
- SugarHosts糖果主机双十一大促销 虚拟主机最高6折优惠全球[VPS测评]
- 加拿大以“国安”为由禁止华为、中兴参与5G建设全球[VPS测评]
- 云服务器都是有哪些特点?全球[VPS测评]
- PangHost:香港CN2云服务器VPS月付29元,美国洛杉矶高防vp美国VPS[主机]
- PQhosting:香港HE/乌克兰/俄罗斯/荷兰/摩尔多瓦vps主机/香港VPS[主机]
- 拼多多也要做跨境电商?出海之路能一帆风顺吗,了解一下全球[VPS测评]
- edgeNAT:2021元旦vps促销_全场韩国/美国/香港VPS低至7韩国VPS[主机]
- 详细介绍vps云服务器及其作用全球[VPS测评]
- VPS到底有什么用?全球[VPS测评]
- 晚点独家丨拼多多9月上线跨境电商平台,首站美国美国VPS[主机]
- 六六云,2核2G香港云服务器/1000GB流量/50Mbps端口/KVM香港VPS[主机]
- 跨境贸易和跨境电商的三大区别简单分析全球[VPS测评]
- OneTechCloud易科云双十二优惠:香港/美国CN2全场VPS季付美国VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-214552.html











