00000000 50 4B 03 04 14 00 06 00 08 00 00 00 21 00 93 8E |PK........!... 00000010 37 54 01 00 04 00 00 00 1C 00 00 00 57 6F 72 64 |7T..........Word| 00000020 2E 44 4F 43 58 00 13 00 00 00 01 00 00 00 00 00 |.DOCX..........| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
文件类型: Microsoft Word 文档 (.docx)
Magic Bytes: 50 4B 03 04 (PK..)
文件扩展名可以被轻易修改,但文件头部的 Magic Bytes 才是识别文件真实格式的关键
通过文件头部的 Magic Bytes 特征,准确判断文件的真实格式,不受文件扩展名的误导。
验证上传文件的真实性,防止恶意用户通过修改扩展名来上传危险文件类型。
为开发者提供常见文件格式的 Magic Bytes 参考,便于在编程中实现文件类型验证功能。
常见文件格式的 Magic Bytes 特征值列表,助你快速识别文件类型
文件类型 | 扩展名 | Magic Bytes (十六进制) | 字节位置 |
---|---|---|---|
JPEG 图像
|
.jpg, .jpeg
|
FF D8 FF
|
0-2 |
PNG 图像
|
.png
|
89 50 4E 47 0D 0A 1A 0A
|
0-7 |
GIF 图像
|
.gif
|
47 49 46 38 37 61 或 47 49 46 38 39 61
|
0-5 |
PDF 文件
|
.pdf
|
25 50 44 46 2D
|
0-4 |
ZIP 压缩文件
|
.zip, .docx, .xlsx, .pptx
|
50 4B 03 04
|
0-3 |
MP4 视频
|
.mp4
|
00 00 00 18 66 74 79 70 6D 70 34 32
|
4-15 |
MP3 音频
|
.mp3
|
49 44 33 或 FF FB 或 FF F3 或 FF F2
|
0-2 或 0-1 |
HTML 文件
|
.html, .htm
|
3C 21 44 4F 43 54 59 50 45 20 68 74 6D 6C 3E 或 3C 68 74 6D 6C 3E
|
0-14 或 0-5 |
上传文件或输入十六进制值,快速识别文件类型
或拖放文件
支持 JPG, PNG, GIF, PDF, ZIP, MP4, MP3, HTML 等格式
输入文件开头的十六进制字节,用空格分隔
请上传文件或输入十六进制值进行分析
了解更多关于文件格式识别的基础知识
Magic Bytes(也称为文件签名或文件头)是文件开头的固定字节序列,用于标识文件格式。这些字节通常在文件的前几个字节中,是文件格式的固有特征。
与文件扩展名不同,Magic Bytes 不能被轻易修改,因此更可靠地标识文件的真实格式。许多应用程序和操作系统使用 Magic Bytes 来确定如何处理文件。
例如,所有 JPEG 图像文件都以字节序列 FF D8 FF 开头,而 PNG 文件以 89 50 4E 47 0D 0A 1A 0A 开头。
验证文件类型对于安全和功能完整性至关重要。攻击者可能会修改文件扩展名来绕过安全检查,上传恶意文件。
通过验证 Magic Bytes,可以确保文件内容与扩展名匹配,提高系统安全性和可靠性。