亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? extract.java

?? 這是利用圖像隱藏信息的代碼
?? JAVA
字號(hào):
import java.io.*;import crypt.*;import ortega.*;public class Extract {    private static File f;	    // carrier file    private static byte[] carrier;  // carrier data    private static int[] coeff;     // dct values    private static FileOutputStream fos;   // embedded file (output file)    private static String embFileName;	// output file name    private static String password;    private static byte[] deZigZag = {       0,  1,  5,  6, 14, 15, 27, 28,       2,  4,  7, 13, 16, 26, 29, 42,       3,  8, 12, 17, 25, 30, 41, 43,       9, 11, 18, 24, 31, 40, 44, 53,      10, 19, 23, 32, 39, 45, 52, 54,      20, 22, 33, 38, 46, 51, 55, 60,      21, 34, 37, 47, 50, 56, 59, 61,      35, 36, 48, 49, 57, 58, 62, 63    };    static void usage() {	System.out.println("java Extract [Options] \"image.jpg\"");	System.out.println("Options:");	System.out.println("\t-p password (default: abc123)");	System.out.println("\t-e extractedFileName (default: output.txt)");        System.out.println("\nAuthor: Andreas Westfeld, westfeld@inf.tu-dresden.de");	System.exit(0);    }    public static void main(String[] args) {    	embFileName = "output.txt";	password = "abc123";	try {	    if (args.length < 1)		usage();	    for (int i=0; i<args.length; i++) {		if (!args[i].startsWith("-")) {		    if (!args[i].endsWith(".jpg"))			usage();		    f = new File(args[i]);		    continue;		}		if (args.length < i+1) {		    System.out.println("Missing parameter for switch "+args[i]);		    usage();		}		if (args[i].equals("-e")) {		    embFileName = args[i+1];		} else if (args[i].equals("-p")) {		    password = args[i+1];		} else		    System.out.println("Unknown switch "					    +args[i]+" ignored.");		i++;	    }	    carrier = new byte[(int)f.length()];	    FileInputStream fis = new FileInputStream(f);	    fos = new FileOutputStream(new File(embFileName));	    fis.read(carrier);	    HuffmanDecode hd = new HuffmanDecode(carrier);System.out.println("Huffman decoding starts");	    coeff=hd.decode();System.out.println("Permutation starts");	    F5Random random = new F5Random(password.getBytes());	    Permutation permutation = new Permutation(coeff.length, random);System.out.println(coeff.length+" indices shuffled");	    int extractedByte=0;	    int availableExtractedBits=0;	    int extractedFileLength=0;	    int nBytesExtracted=0;	    int shuffledIndex=0;	    int extractedBit;	    int i;	    int one=0;System.out.println("Extraction starts");	    // extract length information	    for (i=0; availableExtractedBits<32; i++) {		shuffledIndex = permutation.getShuffled(i);		if (shuffledIndex%64 == 0) continue; // skip DC coefficients		shuffledIndex = shuffledIndex-(shuffledIndex%64)+deZigZag[shuffledIndex%64];                if (coeff[shuffledIndex] == 0) continue; // skip zeroes		// rev. 12: skip every second 1 or -1		if (Math.abs(coeff[shuffledIndex]) == 1)		    if (((++one)&1) == 0) continue;		if (coeff[shuffledIndex] > 0)		    extractedBit=coeff[shuffledIndex]&1;		else		    extractedBit=1-(coeff[shuffledIndex]&1);		extractedFileLength |= extractedBit << availableExtractedBits++;	    }	    // remove pseudo random pad	    extractedFileLength ^= random.getNextByte();	    extractedFileLength ^= random.getNextByte()<<8;	    extractedFileLength ^= random.getNextByte()<<16;	    extractedFileLength ^= random.getNextByte()<<24;	    int k = extractedFileLength >> 24;	    k %= 32;	    int n = (1 << k)-1;	    extractedFileLength &= 0x007fffff;System.out.println("Length of embedded file: "+extractedFileLength+" bytes");	    availableExtractedBits = 0;	    if (n>0) {		int startOfN = i;		int hash;		System.out.println("(1, "+n+", "+k+") code used");extractingLoop:		do {		    // 1. read n places, and calculate k bits		    hash = 0;		    int code = 1;		    for (i=0; code<=n; i++) {			// check for pending end of coeff			if (startOfN+i>=coeff.length) break extractingLoop;			shuffledIndex = permutation.getShuffled(startOfN+i);			if (shuffledIndex%64 == 0) continue; // skip DC coefficients			shuffledIndex = shuffledIndex-(shuffledIndex%64)+deZigZag[shuffledIndex%64];			if (coeff[shuffledIndex] == 0) continue; // skip zeroes			// rev. 12: skip every second 1 or -1			if (Math.abs(coeff[shuffledIndex]) == 1)			    if ((++one&1) == 0) continue;			if (coeff[shuffledIndex] > 0)			    extractedBit=coeff[shuffledIndex]&1;			else			    extractedBit=1-(coeff[shuffledIndex]&1);			if (extractedBit==1) {			    hash ^= code;			}			code++;		    }		    startOfN += i;		    // 2. write k bits bytewise		    for (i=0; i<k; i++) {			extractedByte |= ((hash>>i)&1) << availableExtractedBits++;			if (availableExtractedBits == 8) {			    // remove pseudo random pad			    extractedByte ^= random.getNextByte();			    fos.write((byte) extractedByte);			    extractedByte=0;			    availableExtractedBits=0;			    nBytesExtracted++;			    // check for pending end of embedded data			    if (nBytesExtracted==extractedFileLength)				break extractingLoop;			}		    }		} while (true);	    } else {		System.out.println("Default code used");		for (; i<coeff.length; i++) {		    shuffledIndex = permutation.getShuffled(i);		    if (shuffledIndex%64 == 0) continue; // skip DC coefficients		    shuffledIndex = shuffledIndex-(shuffledIndex%64)+deZigZag[shuffledIndex%64];		    if (coeff[shuffledIndex] == 0) continue; // skip zeroes		    // rev. 12: skip every second 1 or -1		    if (Math.abs(coeff[shuffledIndex]) == 1)			if ((++one&1) == 0) continue;		    if (coeff[shuffledIndex] > 0)			extractedBit=coeff[shuffledIndex]&1;		    else			extractedBit=1-(coeff[shuffledIndex]&1);		    extractedByte |= extractedBit << availableExtractedBits++;		    if (availableExtractedBits == 8) {			// remove pseudo random pad			extractedByte ^= random.getNextByte();			fos.write((byte) extractedByte);			extractedByte=0;			availableExtractedBits=0;			nBytesExtracted++;			if (nBytesExtracted==extractedFileLength)			    break;		    }		}	    }	    if (nBytesExtracted<extractedFileLength) {		System.out.println("Incomplete file: only "+		    nBytesExtracted+" of "+extractedFileLength+		    " bytes extracted");	    }	} catch(Exception e) {	    e.printStackTrace();	}    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区久久| 国产精品久久久久久久午夜片 | 国产成人av电影| 2024国产精品| 国产v综合v亚洲欧| 欧美激情艳妇裸体舞| 成人手机在线视频| 亚洲人午夜精品天堂一二香蕉| 成人av免费在线观看| 亚洲男人天堂一区| 6080日韩午夜伦伦午夜伦| 日韩av在线播放中文字幕| 欧美成人一区二区三区片免费| 激情综合亚洲精品| 国产精品亲子乱子伦xxxx裸| 99久久精品免费| 亚洲成人av电影在线| 日韩三级电影网址| 粉嫩绯色av一区二区在线观看| 国产女人水真多18毛片18精品视频| eeuss鲁片一区二区三区在线观看| 亚洲婷婷综合色高清在线| 欧美日韩国产三级| 精品一区二区三区免费播放| 中文字幕免费不卡| 欧美日韩你懂的| 国产精品系列在线观看| 中文字幕在线免费不卡| 欧美精品视频www在线观看| 精品制服美女丁香| ㊣最新国产の精品bt伙计久久| 欧美三级电影一区| 国产精品一区二区久久精品爱涩| 亚洲美女视频在线| 精品国产精品网麻豆系列| 91原创在线视频| 乱中年女人伦av一区二区| 国产精品区一区二区三| 欧美人狂配大交3d怪物一区 | 久久99国产精品免费| 国产精品―色哟哟| 91精品欧美一区二区三区综合在| 欧美日韩久久久久久| 国产精品一卡二| 亚洲成人免费在线| 国产精品久久久久久久久图文区 | 色综合咪咪久久| 久久精品国内一区二区三区| 亚洲人成精品久久久久| 精品久久久久av影院| 欧美日韩你懂的| 99久久伊人网影院| 国产乱一区二区| 日韩激情中文字幕| 亚洲综合在线五月| 国产精品久久久久久久岛一牛影视 | 欧美性受极品xxxx喷水| 成人一区二区三区中文字幕| 老司机午夜精品| 舔着乳尖日韩一区| 亚洲精选免费视频| 国产精品白丝在线| 国产日韩av一区| 精品少妇一区二区三区在线播放| 欧美日韩一区中文字幕| 99精品久久99久久久久| 国产**成人网毛片九色 | 亚洲va在线va天堂| 亚洲精品中文字幕在线观看| 中文字幕中文字幕在线一区| 国产欧美日韩在线| 欧美精品一区男女天堂| 日韩一区二区在线观看视频| 欧美男男青年gay1069videost| 色婷婷av久久久久久久| aaa欧美日韩| 99久久99久久精品国产片果冻| 国产福利91精品一区二区三区| 精品一区二区成人精品| 精品一区精品二区高清| 青青草国产成人99久久| 蜜桃免费网站一区二区三区 | 亚洲国产毛片aaaaa无费看| 一个色在线综合| 亚洲图片欧美色图| 亚洲成人福利片| 日韩国产欧美在线观看| 日产国产欧美视频一区精品 | 欧美日韩国产精选| 欧美精品第1页| 日韩欧美一区二区免费| 精品国产精品一区二区夜夜嗨| 精品卡一卡二卡三卡四在线| 欧美大肚乱孕交hd孕妇| 久久亚洲精品国产精品紫薇| 欧美激情一区二区三区在线| 国产精品理伦片| 亚洲精品久久7777| 偷窥国产亚洲免费视频| 美女视频网站久久| 国产不卡视频一区二区三区| 91视频精品在这里| 欧美日韩国产精品自在自线| 日韩欧美精品在线| 欧美激情一区二区三区蜜桃视频 | 日韩精品色哟哟| 久久99精品国产麻豆婷婷| 高清不卡一区二区在线| 欧美中文一区二区三区| 日韩午夜电影在线观看| 国产欧美一区二区在线观看| 一区二区在线看| 美腿丝袜亚洲三区| 从欧美一区二区三区| 欧美亚洲一区二区三区四区| 欧美成人vr18sexvr| 中文字幕一区二区5566日韩| 性做久久久久久免费观看| 国产精品一级在线| 欧美性高清videossexo| 2024国产精品| 亚洲在线免费播放| 国产精品一区不卡| 欧美视频一区二| 国产欧美视频一区二区三区| 亚洲国产精品天堂| 国产成人精品aa毛片| 欧美日韩一二区| 国产色综合久久| 亚洲成年人影院| 成人黄色电影在线 | 精品嫩草影院久久| 亚洲乱码国产乱码精品精98午夜| 蜜臀av性久久久久蜜臀aⅴ流畅| gogo大胆日本视频一区| 日韩精品专区在线| 亚洲在线一区二区三区| 成人一级片网址| 欧美xxxx在线观看| 亚洲一区二区五区| 成人av免费网站| 亚洲精品在线网站| 日韩高清不卡一区二区| 99精品久久99久久久久| 久久久久久免费| 男女男精品视频网| 欧美日韩在线播| 亚洲色图制服诱惑 | 韩国v欧美v日本v亚洲v| 欧美日韩久久久| 亚洲免费观看高清完整版在线观看熊 | 日本乱人伦aⅴ精品| 日本一区二区久久| 精品亚洲国产成人av制服丝袜| 欧美日韩一区二区在线观看 | 亚洲青青青在线视频| 国产成人av影院| 欧美成人综合网站| 蜜臀av性久久久久蜜臀av麻豆| 精品视频123区在线观看| 亚洲人成人一区二区在线观看| 成人一道本在线| 国产日韩欧美不卡在线| 国产一区二区视频在线播放| 欧美一卡在线观看| 日韩av不卡一区二区| 欧美日韩高清影院| 午夜精品影院在线观看| 欧美性受极品xxxx喷水| 亚洲综合男人的天堂| 在线视频一区二区三区| 亚洲人xxxx| 在线精品视频免费观看| 亚洲国产视频一区| 欧美主播一区二区三区美女| 亚洲激情中文1区| 91成人国产精品| 亚洲mv大片欧洲mv大片精品| 国产蜜臀97一区二区三区| 国产一区二区三区日韩| 国产日产精品一区| www.久久久久久久久| 亚洲人成人一区二区在线观看| 色丁香久综合在线久综合在线观看| 日韩美女啊v在线免费观看| 色婷婷久久久亚洲一区二区三区| 亚洲精品免费在线观看| 欧美日韩一区二区在线观看| 日本欧美一区二区| 久久婷婷久久一区二区三区| 丁香五精品蜜臀久久久久99网站 | 亚洲国产一区视频| 91 com成人网| 国产真实乱偷精品视频免| 国产日产欧美一区二区三区| 色婷婷综合在线| 日韩高清在线观看| 国产情人综合久久777777| 日本韩国视频一区二区| 日韩黄色小视频|