关于php MD5的16位raw binary输出跟32位字符串输出
关于php MD5的16位raw binary输出和32位字符串输出
因为需要php aes加密数据,考虑使用php MD5 输出16位的binary作为密钥。
google 了一下“php MD5 16”? 竟然发现很多文章建议用截取字符串的方式实现,语句如下所示:
?
也许他们需要一个长度是16位的随机字符串, 更可能的是他们理解错了MD5的真正意义。
?
erlang:md5("aaa") . %%输出:>
从上面的语句可以看出,erlang:md5输出一个16位的binary数据,每一位为8bit,16*8 共128bits。
也就是说MD5输出的是一组,16位(16Byte)128bits的数据。
?
PHP: md5("aaa") //输出:47bce5c74f589f4867dbd57e9ca9f808
?
MD5 binary format and HEX string?format 对照表如下所示:
binary: | 71 | 188 | 229 | 199 | 79 | 88 | 159 | 72 | 103 | 219 | 213 | 126 | 156 | 169 | 248 | 8 |
16进制表示: | 47 | bc | e5 | c7 | 4f | 58 | 9f | 48 | 67 | db | d5 | 7e | 9c | a9 | f8 | 08 |
71 如果用十六进制表示就是47; 188十六进制就是bc , 等等。
?
现在我们来看一看PHP的MD5函数:
?
PHP:md5("aaa")输出的32位长度的字符串:47, bc, e5, c7, 4f, 58, 9f, 48, 67, db, d5, 7e, 9c, a9, f8, 08,
其实相当于将16byte binary 数据用HEX表示出来。 类似于颜色RGB(255,255,255)=>#FF FF FF。
?
PHP:md5("aaa", ture) 输出16byte binary数据。binary数据解析如下所示:?
?
$bin = md5("aaa",ture); for($a=0;$a<strlen echo ord> <p>?</p> <div class="clear"> </div></strlen>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

Laravel优化Web开发流程的方法包括:1.使用路由系统管理URL结构;2.利用Blade模板引擎简化视图开发;3.通过队列处理耗时任务;4.使用EloquentORM简化数据库操作;5.遵循最佳实践提高代码质量和可维护性。

在IIS上配置和运行PHP需要以下步骤:1)下载并安装PHP,2)配置IIS并添加FastCGI模块,3)创建并设置应用池,4)创建网站并绑定到应用池。通过这些步骤,你可以在Windows服务器上轻松部署PHP应用,并通过配置扩展和优化性能来提升应用的稳定性和效率。

HTML5带来了五个关键改进:1.语义化标签提升了代码清晰度和SEO效果;2.多媒体支持简化了视频和音频嵌入;3.表单增强简化了验证;4.离线与本地存储提高了用户体验;5.画布与图形功能增强了网页的可视化效果。
