`
houlinyan
  • 浏览: 147713 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

图片检查

    博客分类:
  • java
 
阅读更多

图片检查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图片检查工具

    检查出文件夹内所有png图片和位深。 有时候windows显示的png位深不一定是正确的。

    英乐图片厘米尺寸检查器V9.0免费安装版

    英乐图片厘米尺寸检查器是一个免费的快速管理所有图片的图片管理工具,快速检查文件夹内所有图片的尺寸,展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。如果发片时,总是因为尺寸出错,或检查尺寸...

    python图片检查

    识别图片中是否包括色情 1 每一幅图像在构成上,都是由一个个像素组成的矩阵,每一个像素为单元格。 2、 彩色图像的像素的由三原色(红,绿,蓝)构成元组,灰度图像的像素是一个单值,每个像素的值范围为(0,255...

    检测ASP图片木马的函数

    本文介绍一个检测ASP图片木马的函数,由于FSO无法读取客户端文件的内容,所以只能在文件上传到服务器后再打开文件进行内容检查。

    cnn检查图片边缘

    python3使用snn查看图片主体边缘,修改一下图片路径就可以了

    QTP操作基本教程---入门级的好教程,以具体实例操作

    包括(文本检查点,标准检查点,表格检查点,网页检查点)(图片检查点,数据库检查点,xml文件检查点还没有具体操作) 3.对脚本的检查点和输入数据等进行参数化(文本框,标准检查点,表格检查点的输入)。 4.参数...

    QTP操作基本教程.doc

    包括(文本检查点,标准检查点,表格检查点,网页检查点)(图片检查点,数据库检查点,xml文件检查点还没有具体操作) 3.对脚本的检查点和输入数据等进行参数化(文本框,标准检查点,表格检查点的输入)。 4.参数...

    检查文件夹或者项目内重复图片和超大图片

    检查文件夹或者项目内重复图片和超大图片,主要用于缩减包体积。 用python写的一个实用小工具。 一键输出所有结果到文本,方便定位检查。

    英乐图片厘米尺寸检查器

    快速批量检查文件夹内所有图片的厘米尺寸等参数,无需打开图片。 展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。 如果影楼发片时,总是因为尺寸出错,或检查尺寸费时间,这个小工具是个不错的选择...

    opencv提取视频图片并检查人脸

    opencv提取视频图片并检查人脸

    2024年4月-小米机型硬件修复nv报错跳RSA验证主板操作图示

    允许用户通过硬件方法关闭 RSA 安全,您可以使用此工具通过简单的原理图图片检查关闭 RSA 的硬件解决方案 简单说明,误格式化分区导致nv报错故障 但小米机型有串码id验证。正常写串后会报错。原因在于硬件id验证 此...

    检查图片名称与后缀名是否一致

    程序运行选择文件夹即可检查文件名是否与真实文件类型一致.

    vue 检测用户上传图片宽高的方法

    用户可上传3-6张图片(第 1 2 3 张必须传),上传的图片必须是540 * 330 像素。 第一步,获取上传的图片的宽高。 初始化一个对象数组,宽高均设为0。 如果用户上传的图片没有上限,可以动态修改这个对象数组。 data:...

    opencv检查图片中是否有人

    使用opencv2.4.9检查图片中是否有人存在

    制品外观检查软件

    此软件下载需要使用密码oqc登录,安装后可辅导检查...其次若想更换成自己想要的相片,则需把对应的相片与原有图片命名同样并替换原有图片并重启软件,则也可以实现新图片替换;若有问题或业务可联系QQ:1300699709。

    60种常见电气隐患图片.电气安全检查

    60种常见电气隐患图片.电气安全检查

    检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过

    很多ASP程序检查上传图片是否合法往往只去检查文件的后缀,这样有一个很大的安全隐患,就是如果把ASP文件的后缀名改成.jpg或者.gif上传,或者图片里加入恶意代码再上传,那也会被程序认为是图片文件而照传不误。...

    java实现的图片防篡改功能

    java实现的图片防篡改功能,采用图片hash生成唯一标识,再进行比对,判断图片是否被篡改过,可运行源码

    性能测试进阶指南——LoadRunner11实战 part1

    3.8.3 图片检查点 3.9 事务 3.9.1 响应时间 3.9.2 添加事务 3.9.3 事务时间 3.9.4 手工事务 3.10 集合点 3.11 小结 第4章 负载生成及监控Controller 4.1 设计场景 4.1.1 新建场景 4.1.2 负载生成器管理 4.1.3 用户...

    性能测试进阶指南——LoadRunner11实战 part2

    3.8.3 图片检查点 3.9 事务 3.9.1 响应时间 3.9.2 添加事务 3.9.3 事务时间 3.9.4 手工事务 3.10 集合点 3.11 小结 第4章 负载生成及监控Controller 4.1 设计场景 4.1.1 新建场景 4.1.2 负载生成器管理 4.1.3 用户...

Global site tag (gtag.js) - Google Analytics