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
- 月神科技:香港安畅/沙田机房VPS,2核2G10M带宽仅20元/月 香港VPS[主机]
- VoLLCloud:亚太地区香港200M/VPS月付低至3$,年付全场5 香港VPS[主机]
- 精美的宠物医院网站WordPress主题 - Valkuta 全球[VPS测评]
- 7月份,经济复苏边际趋缓,央行降息幅度先稳后升 全球[VPS测评]
- 向日葵-漏洞科普:海外云服务器三种漏洞修复方法快收藏起来! 全球[VPS测评]
- 什么是云服务器?云服务器怎么登陆? 全球[VPS测评]
- 再“掷”53亿元 宜家能否挽回中国消费者 全球[VPS测评]
- 2022年有哪些顶级托管服务提供商 全球[VPS测评]
- 曾经最大跨境电商平台团队收缩,只剩20人丨GoingGlobal周报 全球[VPS测评]
- 数字化东风已来,亚马逊云科技跨境电商合作企业招募大会即将开启 全球[VPS测评]
- 宝塔面板怎么放行端口?宝塔面板放行端口的方法 全球[VPS测评]
- 瓜云互联怎么样?香港/美国洛杉矶CN2高防vps 50G月付34元 美国VPS[主机]
- 轻云互联,香港VPS月付22元 美国VPS月付19元 美国VPS[主机]
- DMIT:香港/洛杉矶GIA等KVM VPS,黑五DMIT优惠码活动,稳 香港VPS[主机]
- 安国云:1核/1G/20G硬盘/1Mbp不限流量/香港cdia,月付18 香港VPS[主机]
- 初忆云: 滁州电信、湖北电信云服务器价格低至10元起,续费同价 全球[VPS测评]
- 六六云:1核/1GB/20GB硬盘/500GB流量/30Mbps/KVM 香港VPS[主机]
- 腾讯云轻量应用服务器128元/年,香港免备案vps/30M大带宽/100 香港VPS[主机]
- 恒星云:香港沙田CN2VPS低至9.9元/起_国内BGP云服务器4核4G 香港VPS[主机]
- 麻花云:2021新春采购节,香港云主机2折起,安徽BGP高防云机,移动大 香港VPS[主机]
- CoNoov:美国/日本/新加坡/英国/荷兰/西班牙/挪威/丹麦vps, 日本VPS[主机]
- 青云互联:香港安畅弹性云八折,15元/月起;可自定义配置,可选windo WINDOWS
- Vmshell:香港免费vps试用机24H,新增在线测速!年付再打9折, 香港VPS[主机]
- 41云:香港CN2云服务器,1核/1G/10M带宽,月付28元 香港VPS[主机]
- 春天的风最容易温暖心灵,适合朋友圈和抖音的12条文案 全球[VPS测评]
- 曾经最大跨境电商平台团队收缩,只剩20人丨GoingGlobal周报 全球[VPS测评]
- Vultr新用户100美金 最新活动来啦!新用户充值活动来了,充100美 全球[VPS测评]
- 九零云怎么样?香港将军澳VPS,美国圣何塞VPS 2核1G10M 47/ 美国VPS[主机]
- 磐逸云怎么样?香港沙田cn2vps 带宽5M年付128元 香港VPS[主机]
- 二三互联,香港cn2云服务器5折+85折双重优惠,稳定不限流量,1核1G 香港VPS[主机]
转载请注明原文地址: http://140.238.13.167:12355/read-217544.html











