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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? manifest.java

?? 共有164個java源程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        System.out.println("done");    }        /**     * This method verifies the digital signature of the named manifest     * file, if it has one, and if that verification succeeds, it verifies     * the message digest of each file in filelist that is also named in the     * manifest.  This method can throw a bunch of exceptions     **/    public static void verify(String manifestfile, KeyStore keystore) 	throws NoSuchAlgorithmException, SignatureException, 	       InvalidKeyException, KeyStoreException, IOException    {        Properties manifest = new Properties();        manifest.load(new FileInputStream(manifestfile));        String digestAlgorithm =	    manifest.getProperty("__META.DIGESTALGORITHM");        String signername = manifest.getProperty("__META.SIGNER");        String signatureAlgorithm =             manifest.getProperty("__META.SIGNATUREALGORITHM");        String hexsignature = manifest.getProperty("__META.SIGNATURE");	        // Get a list of filenames in the manifest.  	List files = new ArrayList();        Enumeration names = manifest.propertyNames();        while(names.hasMoreElements()) {            String s = (String)names.nextElement();            if (!s.startsWith("__META")) files.add(s);        }	int numfiles = files.size();		// If we've got a signature but no keystore, warn the user	if (signername != null && keystore == null)	    System.out.println("Can't verify digital signature without " +			       "a keystore.");        // If the manifest contained metadata about a digital signature, then        // verify that signature first        if (signername != null && keystore != null) {            System.out.print("Verifying digital signature...");            System.out.flush();            // To verify the signature, we must process the files in exactly            // the same order we did when we created the signature.  We            // guarantee this order by sorting the filenames.	    Collections.sort(files);	                // Create a Signature object to do signature verification with.	    // Initialize it with the signer's public key from the keystore            Signature signature = Signature.getInstance(signatureAlgorithm);	    PublicKey publickey =		keystore.getCertificate(signername).getPublicKey();            signature.initVerify(publickey);	                // Now loop through these files in their known sorted order For            // each one, send the bytes of the filename and of the digest to            // the signature object for use in computing the signature.  It is            // important that this be done in exactly the same order when            // verifying the signature as it was done when creating the            // signature.            for(int i = 0; i < numfiles; i++) {		String filename = (String) files.get(i);                signature.update(filename.getBytes());                signature.update(hexDecode(manifest.getProperty(filename)));            }	                // Now decode the signature read from the manifest file and pass            // it to the verify() method of the signature object.  If the            // signature is not verified, print an error message and exit.            if (!signature.verify(hexDecode(hexsignature))) {                System.out.println("\nManifest has an invalid signature");                System.exit(0);            }                        // Tell the user we're done with this lengthy computation            System.out.println("verified.");        }        // Tell the user we're starting the next phase of verification        System.out.print("Verifying file message digests");        System.out.flush();	        // Get a MessageDigest object to compute digests        MessageDigest md = MessageDigest.getInstance(digestAlgorithm);        // Loop through all files        for(int i = 0; i < numfiles; i++) {	    String filename = (String)files.get(i);            // Look up the encoded digest from the manifest file            String hexdigest = manifest.getProperty(filename);            // Compute the digest for the file.            byte[] digest;            try { digest = getFileDigest(filename, md); }             catch (IOException e) {                System.out.println("\nSkipping " + filename + ": " + e);                continue;            }            // Encode the computed digest and compare it to the encoded digest            // from the manifest.  If they are not equal, print an error            // message.            if (!hexdigest.equals(hexEncode(digest)))                System.out.println("\nFile '" + filename +				   "' failed verification.");	                // Send one dot of output for each file we process.  Since            // computing message digests takes some time, this lets the user            // know that the program is functioning and making progress            System.out.print(".");             System.out.flush();        }        // And tell the user we're done with verification.        System.out.println("done.");    }        /**     * This convenience method is used by both create() and verify().  It     * reads the contents of a named file and computes a message digest     * for it, using the specified MessageDigest object.     **/    public static byte[] getFileDigest(String filename, MessageDigest md) 	throws IOException {        // Make sure there is nothing left behind in the MessageDigest        md.reset();	        // Create a stream to read from the file and compute the digest        DigestInputStream in =             new DigestInputStream(new FileInputStream(filename),md);	        // Read to the end of the file, discarding everything we read.        // The DigestInputStream automatically passes all the bytes read to        // the update() method of the MessageDigest        while(in.read(buffer) != -1) /* do nothing */ ;	        // Finally, compute and return the digest value.        return md.digest();    }        /** This static buffer is used by getFileDigest() above */    public static byte[] buffer = new byte[4096];        /** This array is used to convert from bytes to hexadecimal numbers */    static final char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7',				   '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};        /**     * A convenience method to convert an array of bytes to a String.  We do     * this simply by converting each byte to two hexadecimal digits.     * Something like Base 64 encoding is more compact, but harder to encode.     **/    public static String hexEncode(byte[] bytes) {        StringBuffer s = new StringBuffer(bytes.length * 2);        for(int i = 0; i < bytes.length; i++) {            byte b = bytes[i];            s.append(digits[(b& 0xf0) >> 4]);            s.append(digits[b& 0x0f]);        }        return s.toString();    }        /**     * A convenience method to convert in the other direction, from a string     * of hexadecimal digits to an array of bytes.     **/    public static byte[] hexDecode(String s) throws IllegalArgumentException {        try {            int len = s.length();            byte[] r = new byte[len/2];            for(int i = 0; i < r.length; i++) {                int digit1 = s.charAt(i*2), digit2 = s.charAt(i*2 + 1);                if ((digit1 >= '0')&& (digit1 <= '9')) digit1 -= '0';                else if ((digit1 >= 'a')&& (digit1 <= 'f')) digit1 -= 'a' - 10;                if ((digit2 >= '0')&& (digit2 <= '9')) digit2 -= '0';                else if ((digit2 >= 'a')&& (digit2 <= 'f')) digit2 -= 'a' - 10;                r[i] = (byte)((digit1 << 4) + digit2);            }            return r;        }        catch (Exception e) {            throw new IllegalArgumentException("hexDecode(): invalid input");        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影免费在线播放| 欧美日韩精品欧美日韩精品一| 亚洲精品伦理在线| 日韩美女啊v在线免费观看| 国产精品女人毛片| 国产欧美日韩在线看| 亚洲欧美影音先锋| 亚洲丝袜美腿综合| 一区二区国产视频| 婷婷久久综合九色综合伊人色| 亚洲成人激情综合网| 天堂影院一区二区| 天天色图综合网| 美国三级日本三级久久99| 美腿丝袜一区二区三区| 国产乱码精品一区二区三| 丁香婷婷综合色啪| 亚洲一区二区视频在线观看| 国产一区二区在线观看免费| 精久久久久久久久久久| 国产乱淫av一区二区三区| www.成人网.com| 欧美午夜精品久久久久久孕妇| 欧美性色综合网| 欧美精品一区二区在线播放| 国产精品视频一二三区 | 日本高清不卡一区| 精品视频一区三区九区| 欧美成人三级电影在线| 国产精品久久午夜| 日韩精品欧美成人高清一区二区| 国产一区二区三区综合| 欧洲av一区二区嗯嗯嗯啊| 91精品国产综合久久久久久久| 久久久久久**毛片大全| 亚洲国产成人av网| 国产成人av影院| 欧美人伦禁忌dvd放荡欲情| 久久久综合视频| 亚洲成人一区二区| 国产成人精品亚洲日本在线桃色| 欧美色图在线观看| 一色屋精品亚洲香蕉网站| 日本午夜精品一区二区三区电影 | 中文字幕一区二区三区蜜月| 日韩精品福利网| 色综合一个色综合亚洲| 久久精品水蜜桃av综合天堂| 亚洲成人在线观看视频| 99久久精品国产一区二区三区| 日韩欧美成人午夜| 丝袜国产日韩另类美女| 色综合 综合色| 久久久久久久av麻豆果冻| 亚洲与欧洲av电影| 国产麻豆视频一区| 欧美精品久久久久久久久老牛影院| 国产精品拍天天在线| 韩国在线一区二区| 欧美一区二区三区日韩| 亚洲成av人片在线观看无码| 91一区二区三区在线观看| 日本一区二区免费在线| 捆绑调教美女网站视频一区| 欧美精品在线一区二区| 夜夜嗨av一区二区三区四季av| 狠狠色丁香婷综合久久| 日韩精品一区二区三区视频| 日韩av一级片| 日韩一区二区三区精品视频| 午夜国产不卡在线观看视频| 欧美日韩一区高清| 日韩专区一卡二卡| 91精品国产一区二区| 精品在线亚洲视频| 欧美电影免费观看高清完整版| 日本亚洲一区二区| 欧美色视频一区| 日韩高清国产一区在线| 日韩一级片网址| 国模套图日韩精品一区二区| 国产欧美一区二区三区鸳鸯浴| 成人自拍视频在线观看| 亚洲欧洲日韩女同| 欧美性xxxxx极品少妇| 天堂蜜桃一区二区三区| 在线观看欧美黄色| 亚洲国产精品一区二区久久恐怖片| 99精品久久久久久| 亚洲3atv精品一区二区三区| 91超碰这里只有精品国产| 狠狠久久亚洲欧美| 1区2区3区精品视频| 91在线视频18| 亚洲综合激情网| 欧美精品欧美精品系列| 蜜桃在线一区二区三区| 国产喷白浆一区二区三区| 91美女视频网站| 日韩二区三区在线观看| 久久蜜桃一区二区| 91官网在线观看| 久久精品国产久精国产| 久久精品水蜜桃av综合天堂| 日本高清不卡aⅴ免费网站| 日本不卡的三区四区五区| 中文字幕不卡三区| 欧美色大人视频| 国产成人av电影| 天天影视涩香欲综合网| 国产精品久久久久永久免费观看 | 国产麻豆成人精品| 亚洲精品美腿丝袜| 久久久久久亚洲综合影院红桃| 波多野结衣的一区二区三区| 视频在线观看91| 中文字幕日本乱码精品影院| 欧美一区三区二区| 91浏览器打开| 亚欧色一区w666天堂| 欧美精品日韩一本| 风间由美一区二区av101| 日韩在线一区二区三区| 国产精品久久久久一区| 亚洲精品在线电影| 欧美日韩在线直播| 成人激情校园春色| 精久久久久久久久久久| 亚洲va韩国va欧美va精品| 综合久久久久久久| 国产日韩欧美a| 欧美tk丨vk视频| 制服丝袜亚洲网站| 91国产福利在线| 色婷婷久久99综合精品jk白丝| 国产精品一色哟哟哟| 理论电影国产精品| 亚洲国产精品久久人人爱蜜臀| 国产精品系列在线| 久久免费国产精品| 日韩精品中文字幕在线不卡尤物| 欧美视频一二三区| 欧美大片一区二区| 色综合天天综合色综合av| 国产不卡视频在线观看| 国产在线视频精品一区| 久久9热精品视频| 麻豆国产一区二区| 免费精品视频最新在线| 午夜在线成人av| 日精品一区二区三区| 午夜精品久久久| 日韩成人一区二区三区在线观看| 亚洲国产毛片aaaaa无费看| 一区二区三区日韩在线观看| 亚洲人妖av一区二区| 亚洲精品日韩一| 亚洲成人午夜电影| 青青草精品视频| 亚洲一区二区3| 亚洲图片另类小说| 亚洲自拍偷拍图区| 性感美女久久精品| 蜜臀久久99精品久久久画质超高清| 美女视频黄 久久| 国产精品亚洲成人| 成人免费视频视频在线观看免费| 成人综合婷婷国产精品久久| 国产a级毛片一区| 91国产精品成人| 欧美日韩高清一区| 精品动漫一区二区三区在线观看| 精品三级在线看| 久久毛片高清国产| 国产精品盗摄一区二区三区| 1区2区3区精品视频| 亚洲一区二区精品视频| 18欧美乱大交hd1984| 亚洲乱码一区二区三区在线观看| 欧美高清在线视频| 中文字幕在线免费不卡| 亚洲精品一二三区| 天堂va蜜桃一区二区三区漫画版 | 色一情一乱一乱一91av| 欧美日韩视频不卡| 欧美美女网站色| 国产精品理伦片| 美国av一区二区| 成人免费毛片高清视频| 欧美日韩大陆一区二区| 日本一区二区三级电影在线观看| 亚洲高清免费在线| 成人一级片网址| 欧美日本视频在线| 国产精品第一页第二页第三页| 日韩激情视频网站| 色美美综合视频| 国产亚洲精品久| 麻豆91在线观看| 欧美日韩在线播放三区|