图片检查java代码:
import java.awt.Image;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
public class ImageTypeCheck {
public static String bytesToHexString(byte[] src) {
StringBuilder stringBuilder = new StringBuilder();
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
public static void main(String[] args) throws IOException {
String imagePath = "d:/331bf7e0723243es_1337221124649_130_130.jpg";
File image = new File(imagePath);
InputStream is = new FileInputStream(image);
byte[] bt = new byte[2];
is.read(bt);
System.out.println(bytesToHexString(bt));
}
}
将获取的结果和下面的对比,就知道是那种格式了。
表示不同文件类型的魔术数字
这里所说的表示不同文件类型的魔术数字,指定是文件的最开头的几个用于唯一区别其它文件类型的字节,有了这些魔术数字,我们就可以很方便的区别不同的文件,这也使得编程变得更加容易,因为我减少了我们用于区别一个文件的文件类型所要花费的时间。
比如,一个JPEG文件,它开头的一些字节可能是类似这样的”ffd8 ffe0 0010 4a46 4946 0001 0101 0047 ……JFIF…..G“,这里”ffd8“就表示了这个文件是一个JPEG类型的文件,”ffe0“表示这是JFIF类型结构。
以下例出的是一些我们常见的文件类型,以及它用于判断这种文件的类型的几个开始字节及所对尖的ASCII数字:
图片文件
文件类型
扩展名
16进制数字
xx这里表示变量
Ascii数字
. = 不是Ascii字符
Bitmap format |
.bmp |
42 4d |
BM |
FITS format |
.fits |
53 49 4d 50 4c 45 |
SIMPLE |
GIF format |
.gif |
47 49 46 38 |
GIF8 |
Graphics Kernel System |
.gks |
47 4b 53 4d |
GKSM |
IRIS rgb format |
.rgb |
01 da |
.. |
ITC (CMU WM) format |
.itc |
f1 00 40 bb |
…. |
JPEG File Interchange Format |
.jpg |
ff d8 ff e0 |
…. |
NIFF (Navy TIFF) |
.nif |
49 49 4e 31 |
IIN1 |
PM format |
.pm |
56 49 45 57 |
VIEW |
PNG format |
.png |
89 50 4e 47 |
.PNG |
Postscript format |
.[e]ps |
25 21 |
%! |
Sun Rasterfile |
.ras |
59 a6 6a 95 |
Y.j. |
Targa format |
.tga |
xx xx xx |
… |
TIFF format (Motorola – big endian) |
.tif |
4d 4d 00 2a |
MM.* |
TIFF format (Intel – little endian) |
.tif |
49 49 2a 00 |
II*. |
X11 Bitmap format |
.xbm |
xx xx |
|
XCF Gimp file structure |
.xcf |
67 69 6d 70 20 78 63 66 20 76 |
gimp xcf |
Xfig format |
.fig |
23 46 49 47 |
#FIG |
XPM format |
.xpm |
2f 2a 20 58 50 4d 20 2a 2f |
/* XPM */ |
压缩文件
文件类型
扩展名
16进制数字
xx这里表示变量
Ascii数字
. = 不是Ascii字符
Bzip |
.bz |
42 5a |
BZ |
Compress |
.Z |
1f 9d |
.. |
gzip format |
.gz |
1f 8b |
.. |
pkzip format |
.zip |
50 4b 03 04 |
PK.. |
存档文件
文件类型
扩展名
16进制数字
xx这里表示变量
Ascii数字
. = 不是Ascii字符
TAR (pre-POSIX) |
.tar |
xx xx |
(a filename) |
TAR (POSIX) |
.tar |
75 73 74 61 72 |
ustar (offset by 257 bytes) |
可执行文件
文件类型
扩展名
16进制数字
xx这里表示变量
Ascii数字
. = 不是Ascii字符
MS-DOS, OS/2 or MS Windows |
|
4d 5a |
MZ |
Unix elf |
|
7f 45 4c 46 |
.ELF |
其它文件
文件类型
扩展名
16进制数字
xx这里表示变量
Ascii数字
. = 不是Ascii字符
pgp public ring |
|
99 00 |
.. |
pgp security ring |
|
95 01 |
.. |
pgp security ring |
|
95 00 |
.. |
pgp encrypted data |
|
a6 00 |
?. |
转自:http://blog.csdn.net/fenglibing/article/details/7728275
http://www.fenglibin.com/file_magic_numbers.html
分享到:
相关推荐
检查出文件夹内所有png图片和位深。 有时候windows显示的png位深不一定是正确的。
英乐图片厘米尺寸检查器是一个免费的快速管理所有图片的图片管理工具,快速检查文件夹内所有图片的尺寸,展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。如果发片时,总是因为尺寸出错,或检查尺寸...
识别图片中是否包括色情 1 每一幅图像在构成上,都是由一个个像素组成的矩阵,每一个像素为单元格。 2、 彩色图像的像素的由三原色(红,绿,蓝)构成元组,灰度图像的像素是一个单值,每个像素的值范围为(0,255...
本文介绍一个检测ASP图片木马的函数,由于FSO无法读取客户端文件的内容,所以只能在文件上传到服务器后再打开文件进行内容检查。
python3使用snn查看图片主体边缘,修改一下图片路径就可以了
包括(文本检查点,标准检查点,表格检查点,网页检查点)(图片检查点,数据库检查点,xml文件检查点还没有具体操作) 3.对脚本的检查点和输入数据等进行参数化(文本框,标准检查点,表格检查点的输入)。 4.参数...
包括(文本检查点,标准检查点,表格检查点,网页检查点)(图片检查点,数据库检查点,xml文件检查点还没有具体操作) 3.对脚本的检查点和输入数据等进行参数化(文本框,标准检查点,表格检查点的输入)。 4.参数...
检查文件夹或者项目内重复图片和超大图片,主要用于缩减包体积。 用python写的一个实用小工具。 一键输出所有结果到文本,方便定位检查。
快速批量检查文件夹内所有图片的厘米尺寸等参数,无需打开图片。 展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。 如果影楼发片时,总是因为尺寸出错,或检查尺寸费时间,这个小工具是个不错的选择...
opencv提取视频图片并检查人脸
允许用户通过硬件方法关闭 RSA 安全,您可以使用此工具通过简单的原理图图片检查关闭 RSA 的硬件解决方案 简单说明,误格式化分区导致nv报错故障 但小米机型有串码id验证。正常写串后会报错。原因在于硬件id验证 此...
程序运行选择文件夹即可检查文件名是否与真实文件类型一致.
用户可上传3-6张图片(第 1 2 3 张必须传),上传的图片必须是540 * 330 像素。 第一步,获取上传的图片的宽高。 初始化一个对象数组,宽高均设为0。 如果用户上传的图片没有上限,可以动态修改这个对象数组。 data:...
PCRT(PNG 检查和修复工具)是一个帮助检查 PNG 图像是否正确并尝试自动修复错误的工具。它是跨平台的,可以在Windows、Linux和Mac OS上运行。
使用opencv2.4.9检查图片中是否有人存在
此软件下载需要使用密码oqc登录,安装后可辅导检查...其次若想更换成自己想要的相片,则需把对应的相片与原有图片命名同样并替换原有图片并重启软件,则也可以实现新图片替换;若有问题或业务可联系QQ:1300699709。
60种常见电气隐患图片.电气安全检查
很多ASP程序检查上传图片是否合法往往只去检查文件的后缀,这样有一个很大的安全隐患,就是如果把ASP文件的后缀名改成.jpg或者.gif上传,或者图片里加入恶意代码再上传,那也会被程序认为是图片文件而照传不误。...
修复win7检查更新更新问题,添加公告功能 5.添加压缩后删除原图片功能 6.将设置类控件尽量移至设置窗口操作 场景文件拖拽至客户端即可解析提交上传。 批量渲染 项目文件可批量拖拽提交渲染任务。 自助...
java实现的图片防篡改功能,采用图片hash生成唯一标识,再进行比对,判断图片是否被篡改过,可运行源码