php如何修改图片md5

Laravel
我发现这样修改不到md5 网上多数用curl请求 但是我因为是本地文件有没什么比较快速的方法你呢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

估计你是想改变md5躲避检测之类的吧?给你写了一段代码实现文件md5变更的效果:

$file = 'bg1.png';
var_dump(md5_file($file));

$mask = uniqid('*Mask*');
$len = strlen($mask);
$fp = fopen($file, 'r+b');
if (!$fp) {
    throw new \Exception('文件打开失败');
}
fseek($fp, -$len, SEEK_END);
$str = fread($fp, $len);
if (strpos($str, '*Mask*') === 0) {
    fseek($fp, -$len, SEEK_END);
}
fwrite($fp, $mask);
fclose($fp);

var_dump(md5_file($file));
1年前 评论
steven4 (楼主) 1年前
steven4 (楼主) 1年前
steven4 (楼主) 1年前
忆往昔弹指间 (作者) 1年前
steven4 (楼主) 1年前
讨论数量: 10

估计你是想改变md5躲避检测之类的吧?给你写了一段代码实现文件md5变更的效果:

$file = 'bg1.png';
var_dump(md5_file($file));

$mask = uniqid('*Mask*');
$len = strlen($mask);
$fp = fopen($file, 'r+b');
if (!$fp) {
    throw new \Exception('文件打开失败');
}
fseek($fp, -$len, SEEK_END);
$str = fread($fp, $len);
if (strpos($str, '*Mask*') === 0) {
    fseek($fp, -$len, SEEK_END);
}
fwrite($fp, $mask);
fclose($fp);

var_dump(md5_file($file));
1年前 评论
steven4 (楼主) 1年前
steven4 (楼主) 1年前
steven4 (楼主) 1年前
忆往昔弹指间 (作者) 1年前
steven4 (楼主) 1年前

你提的问题有点怪,能直接说下你的需求目的吗,md5一般只是用于验算源文件是否已改变,你想它的md5值发生变化,那就源文件就要有变动啊。

1年前 评论
fatrbaby

无法直接修改文件的md5,因为这个md5是根据文件内容计算出来的。更改了文件内容,其MD5值就自动变了。你无法将其更改为你指定的MD5值。

1年前 评论

给图片上加一层logo :joy:

1年前 评论

估计你是想改变md5躲避检测之类的吧?给你写了一段代码实现文件md5变更的效果:

$file = 'bg1.png';
var_dump(md5_file($file));

$mask = uniqid('*Mask*');
$len = strlen($mask);
$fp = fopen($file, 'r+b');
if (!$fp) {
    throw new \Exception('文件打开失败');
}
fseek($fp, -$len, SEEK_END);
$str = fread($fp, $len);
if (strpos($str, '*Mask*') === 0) {
    fseek($fp, -$len, SEEK_END);
}
fwrite($fp, $mask);
fclose($fp);

var_dump(md5_file($file));
1年前 评论
steven4 (楼主) 1年前
steven4 (楼主) 1年前
steven4 (楼主) 1年前
忆往昔弹指间 (作者) 1年前
steven4 (楼主) 1年前

重新输出一次即可

$gd = imagecreatefromjpeg('jpg.jpeg');
imagejpeg($gd, 'jpg.jpeg');
imagedestory($gd);
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!