• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 如何解决php md5生成16位出现乱码问题

如何解决php md5生成16位出现乱码问题

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了md5生成,md5乱码等相关知识,希望对您有所帮助

php md5出现16位乱码的解决办法:1、将16字节的原始二进制格式码转为十六进制;2、采取“substr(md5($str),8,16);”截取的办法解决乱码问题。


如何解决php md5生成16位出现乱码问题


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码。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何解决php md5生成16位出现乱码问题

相关文章

  • 2022-04-29浅谈bootstrapTable+jstree插件对树列表条件和查询条件的处理
  • 2022-04-29新站如何得到搜索引擎的好感?
  • 2022-04-29Photoshop设计3D效果的月牙状LOGO
  • 2022-04-29Phpcms V9导航循环下拉菜单的调用技巧
  • 2022-04-29css中&表示什么意思
  • 2022-04-29jQuery怎么实现全选效果
  • 2022-04-29PHP结合AJAX实现搜索提示功能
  • 2022-04-29Illustrator制作OSX风格磁铁图标
  • 2022-04-29帝国CMS实现tagid伪静态tag的方法
  • 2022-04-29帝国CMS如何修改网址+标题+关键字+描叙方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 如何解决mysql 错误1053问题
    • ThinkPhp5.1制作微信支付以及支付后的几种状态说明
    • 帝国CMS内容字段域名替换函数
    • WordPress url链接去掉category的方法插件即可搞定
    • ThinkPHP菜单无极分类实例讲解
    • PHP正则表达式字符如何转义
    • 浅析利用nodejs怎么给图片添加半透明水印(方法详解)
    • ES6中class是语法还是语法糖
    • WordPress移除head头部js、css、feed等多余加载项
    • PHP中exec和system的区别是什么

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有