Không thể tin tưởng phần mở rộng do client gửi. Cách an toàn hơn là đọc magic bytes (vài byte đầu file) để xác định loại thật.
Cho chuỗi hex của các byte đầu file (mỗi byte là 2 ký tự hex, không phân biệt hoa thường, không dấu cách). Xác định loại file theo bảng signature:
| Signature (hex đầu) | Loại |
|---|---|
| FFD8FF | JPEG |
| 89504E47 | PNG |
| 47494638 | GIF |
| 25504446 | |
| 504B0304 | ZIP |
Kiểm tra theo prefix: nếu chuỗi hex bắt đầu bằng signature thì khớp. In tên loại; nếu không khớp signature nào, in UNKNOWN.
89504E470D0A1A0A → Output: PNGMột dòng: chuỗi hex các byte đầu file.
Chuỗi hex dài tối đa 64 ký tự.
Một dòng: tên loại file hoặc UNKNOWN.
Ví dụ:
Đầu vào:
89504E470D0A1A0A
Đầu ra:
PNG
Giải thích:
Đang tải editor...