热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何创建最小尺寸(空)的zip文件,它有22B?

如何解决《如何创建最小尺寸(空)的zip文件,它有22B?》经验,为你挑选了2个好方法。

我试图用文件解决一些安全问题,其MD5哈希是76cdb2bad9582d23c1f6f4d868218d6c.

我没有该文件,但基于互联网MD5搜索,我认为,它是最小尺寸的zip文件.我找到了一个例子,其内容与最小尺寸的zip文件完全相同.

是否可以使用Linux(或Windows)命令创建此类最小大小的zip文件(22 B)?

顺便说一句:最近,我用gzip文件解决了类似的任务: gzip -n EmptyFileName



1> Mark Adler..:

干得好:

50 4b 05 06 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00

这有您提供的MD5签名.

如果您有Info-ZIP的zip,您可以这样创建它:

zip empty.zip anyfile
zip -d empty.zip anyfile

将"anyfile"添加到新的zip文件中,然后将其从zip文件中删除,将其保留为空.


可以说,直接将字节回显到文件是一种更简单的创建方法:`echo -n'\ x50\x4b\x05\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'> empty.zip`
@ MahmoudAl-Qudsi它与zsh一起使用。使用bash或sh,您必须添加`-e`选项:`echo -ne'\ x50 \ x4b \ x05 \ x06 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'> empty.zip`

2> Mahmoud Al-Q..:

一个易于使用的版本,用于复制和粘贴到shell中:

echo UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA== | base64 -d > empty.zip

这只会打印base64空zip文件的'd版本(通过创建一个包含单个文件的zip文件,然后从zip文件中删除该单个文件来创建),然后反转的编码,base64 -d并将输出写入empty.zip


如果base64您的计算机随附的版本使用的语法与上面的语法不同,则这是一种更便于携带但不太麻烦的选择:

echo UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==  | openssl enc -d -base64 > empty.zip


推荐阅读
author-avatar
笑点已阵亡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有