md5 16位及32位

本文介绍了MD5加密后通常得到32位编码,但有时也会遇到16位编码的场景。16位MD5是通过从32位散列中提取中间16位,这使得破解16位MD5相对更难。文章举例展示了如何进行16位和32位的MD5加密,并讨论了它们在安全性上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

$str1='<order></order>123456';
$str_md5 = md5($str1);
$str_md5_16 = md5($str1,true);
$base64_e = base64_encode($str_md5_16);
$base64_d = base64_decode($str_md5_16);
$substr = substr($str_md5,8,16);
var_dump($str_md5);
echo'<hr>';
var_dump($str_md5_16);
echo '<hr>';
var_dump($base64_e);
echo '<hr>';
var_dump($base64_d);
echo '<hr>';
var_dump($substr);
echo '<hr>';

MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码
它们有什么区别呢?
16位加密就是从32位MD5散列中把中间16位提取出来!
其实破解16位MD5散列要比破解32位MD5散列还慢
因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比
而破解32位的则不需要,加密后直接对比就可以了

admin 的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易天海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值