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

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

?? sha256digest.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.crypto.digests;/** * FIPS 180-2 implementation of SHA-256. * * <pre> *         block  word  digest * SHA-1   512    32    160 * SHA-256 512    32    256 * SHA-384 1024   64    384 * SHA-512 1024   64    512 * </pre> */public class SHA256Digest    extends GeneralDigest{    private static final int    DIGEST_LENGTH = 32;    private int     H1, H2, H3, H4, H5, H6, H7, H8;    private int[]   X = new int[64];    private int     xOff;    /**     * Standard constructor     */    public SHA256Digest()    {        reset();    }    /**     * Copy constructor.  This will copy the state of the provided     * message digest.     */    public SHA256Digest(SHA256Digest t)    {        super(t);        H1 = t.H1;        H2 = t.H2;        H3 = t.H3;        H4 = t.H4;        H5 = t.H5;        H6 = t.H6;        H7 = t.H7;        H8 = t.H8;        System.arraycopy(t.X, 0, X, 0, t.X.length);        xOff = t.xOff;    }    public String getAlgorithmName()    {        return "SHA-256";    }    public int getDigestSize()    {        return DIGEST_LENGTH;    }    protected void processWord(        byte[]  in,        int     inOff)    {        X[xOff++] = ((in[inOff] & 0xff) << 24) | ((in[inOff + 1] & 0xff) << 16)                    | ((in[inOff + 2] & 0xff) << 8) | ((in[inOff + 3] & 0xff));         if (xOff == 16)        {            processBlock();        }    }    private void unpackWord(        int     word,        byte[]  out,        int     outOff)    {        out[outOff]     = (byte)(word >>> 24);        out[outOff + 1] = (byte)(word >>> 16);        out[outOff + 2] = (byte)(word >>> 8);        out[outOff + 3] = (byte)word;    }    protected void processLength(        long    bitLength)    {        if (xOff > 14)        {            processBlock();        }        X[14] = (int)(bitLength >>> 32);        X[15] = (int)(bitLength & 0xffffffff);    }    public int doFinal(        byte[]  out,        int     outOff)    {        finish();        unpackWord(H1, out, outOff);        unpackWord(H2, out, outOff + 4);        unpackWord(H3, out, outOff + 8);        unpackWord(H4, out, outOff + 12);        unpackWord(H5, out, outOff + 16);        unpackWord(H6, out, outOff + 20);        unpackWord(H7, out, outOff + 24);        unpackWord(H8, out, outOff + 28);        reset();        return DIGEST_LENGTH;    }    /**     * reset the chaining variables     */    public void reset()    {        super.reset();        /* SHA-256 initial hash value         * The first 32 bits of the fractional parts of the square roots         * of the first eight prime numbers         */        H1 = 0x6a09e667;        H2 = 0xbb67ae85;        H3 = 0x3c6ef372;        H4 = 0xa54ff53a;        H5 = 0x510e527f;        H6 = 0x9b05688c;        H7 = 0x1f83d9ab;        H8 = 0x5be0cd19;        xOff = 0;        for (int i = 0; i != X.length; i++)        {            X[i] = 0;        }    }    protected void processBlock()    {        //        // expand 16 word block into 64 word blocks.        //        for (int t = 16; t <= 63; t++)        {            X[t] = Theta1(X[t - 2]) + X[t - 7] + Theta0(X[t - 15]) + X[t - 16];        }        //        // set up working variables.        //        int     a = H1;        int     b = H2;        int     c = H3;        int     d = H4;        int     e = H5;        int     f = H6;        int     g = H7;        int     h = H8;        for (int t = 0; t <= 63; t++)        {            int        T1, T2;            T1 = h + Sum1(e) + Ch(e, f, g) + K[t] + X[t];            T2 = Sum0(a) + Maj(a, b, c);            h = g;            g = f;            f = e;            e = d + T1;            d = c;            c = b;            b = a;            a = T1 + T2;        }        H1 += a;        H2 += b;        H3 += c;        H4 += d;        H5 += e;        H6 += f;        H7 += g;        H8 += h;        //        // reset the offset and clean out the word buffer.        //        xOff = 0;        for (int i = 0; i != X.length; i++)        {            X[i] = 0;        }    }    private int rotateRight(        int    x,        int    n)    {        return (x >>> n) | (x << (32 - n));    }    /* SHA-256 functions */    private int Ch(        int    x,        int    y,        int    z)    {        return (x & y) ^ ((~x) & z);    }    private int Maj(        int    x,        int    y,        int    z)    {        return (x & y) ^ (x & z) ^ (y & z);    }    private int Sum0(        int    x)    {        return rotateRight(x, 2) ^ rotateRight(x, 13) ^ rotateRight(x, 22);    }    private int Sum1(        int    x)    {        return rotateRight(x, 6) ^ rotateRight(x, 11) ^ rotateRight(x, 25);    }    private int Theta0(        int    x)    {        return rotateRight(x, 7) ^ rotateRight(x, 18) ^ (x >>> 3);    }    private int Theta1(        int    x)    {        return rotateRight(x, 17) ^ rotateRight(x, 19) ^ (x >>> 10);    }    /* SHA-256 Constants     * (represent the first 32 bits of the fractional parts of the     * cube roots of the first sixty-four prime numbers)     */    static final int K[] = {        0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,        0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,        0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,        0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,        0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,        0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,        0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2    };}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产丝袜视频| 日韩精品中文字幕一区二区三区| 蜜臀av国产精品久久久久| 亚洲一区在线观看网站| 一区二区三区欧美在线观看| 亚洲女人的天堂| 亚洲啪啪综合av一区二区三区| 亚洲女女做受ⅹxx高潮| 亚洲欧美电影院| 亚洲综合男人的天堂| 亚洲影视在线观看| 蜜桃视频在线一区| 国产成人免费视频网站| jlzzjlzz欧美大全| 在线观看av不卡| 日韩欧美一区在线| 久久精品亚洲精品国产欧美| 国产精品欧美综合在线| 亚洲一区二区三区爽爽爽爽爽| 午夜欧美电影在线观看| 久久国产尿小便嘘嘘| 丁香一区二区三区| 欧美日韩黄色一区二区| 精品国产精品一区二区夜夜嗨| 久久久精品欧美丰满| 一区二区三区欧美在线观看| 久久aⅴ国产欧美74aaa| 成人av集中营| 4438成人网| 国产精品伦理在线| 日韩av中文字幕一区二区三区| 国产成人综合网| 欧美日韩午夜在线视频| 久久亚洲精品国产精品紫薇| 一区二区三区不卡视频| 久99久精品视频免费观看| 92国产精品观看| 精品国产免费视频| 夜夜嗨av一区二区三区网页| 国产精品一二三四五| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲一区二区五区| 久久草av在线| 在线一区二区视频| 日本一区二区视频在线| 蜜臀av性久久久久蜜臀av麻豆| 91啪九色porn原创视频在线观看| 欧美一区二区久久久| 自拍偷拍欧美精品| 国产成人一区在线| 欧美va日韩va| 日产欧产美韩系列久久99| 色偷偷成人一区二区三区91 | 欧美精品欧美精品系列| 中文字幕不卡在线观看| 国产在线视视频有精品| 欧美一级专区免费大片| 亚洲成人激情自拍| 欧美亚洲国产一区二区三区va| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品88av| 欧美乱妇23p| 亚洲综合丝袜美腿| 91麻豆视频网站| 国产精品沙发午睡系列990531| 免费在线观看视频一区| 欧美日本不卡视频| 亚洲成人1区2区| 欧美日韩精品三区| 日韩vs国产vs欧美| 4438成人网| 免费观看成人av| 日韩精品一区二区三区四区 | av电影天堂一区二区在线观看| 欧美大尺度电影在线| 热久久国产精品| 欧美日韩一二三区| 丝袜亚洲另类欧美| 欧美一二三在线| 美国十次综合导航| 久久你懂得1024| 成人在线视频一区| 亚洲日本一区二区三区| 91视频在线观看| 亚洲国产精品久久人人爱蜜臀| 欧美曰成人黄网| 人人狠狠综合久久亚洲| 久久无码av三级| 99re亚洲国产精品| 亚洲亚洲精品在线观看| 91精品国产乱码久久蜜臀| 国产一区二区日韩精品| 中文字幕一区二区三区四区| 欧美综合亚洲图片综合区| 午夜国产不卡在线观看视频| 日韩女优视频免费观看| 成人午夜又粗又硬又大| 亚洲综合色婷婷| 精品国产免费久久| 色婷婷综合久久久中文一区二区| 亚洲国产三级在线| 久久亚洲二区三区| 欧美色综合天天久久综合精品| 国产精品一区二区三区网站| 国产精品区一区二区三区| 欧美日韩精品免费观看视频| 国产一区二区免费看| 一二三区精品视频| 精品国产乱码久久久久久1区2区| 91偷拍与自偷拍精品| 热久久国产精品| 亚洲欧美一区二区三区极速播放 | 精品国产乱码久久久久久1区2区| 国产精品综合一区二区| 樱桃视频在线观看一区| 久久女同精品一区二区| 在线亚洲+欧美+日本专区| 国产在线播放一区三区四| 亚洲成人免费av| 综合久久综合久久| 精品久久久久久无| 欧美美女一区二区在线观看| 成人短视频下载| 久久99最新地址| 五月天亚洲精品| 一区二区三区在线视频免费观看| 精品免费国产一区二区三区四区| 欧美在线不卡一区| 成人av电影在线观看| 久久99国产精品成人| 首页综合国产亚洲丝袜| 亚洲乱码国产乱码精品精小说 | 99精品久久只有精品| 国产在线国偷精品免费看| 亚洲综合区在线| 亚洲欧美电影一区二区| 中文字幕av一区二区三区| 精品播放一区二区| 91精品国产乱码久久蜜臀| 欧美日韩一区在线观看| 91首页免费视频| 色综合天天综合网国产成人综合天 | 日韩精品一二三| 亚洲综合免费观看高清完整版在线| 亚洲一区二区中文在线| 国产精品传媒入口麻豆| 亚洲国产精品激情在线观看| 精品久久久网站| 久久久久久99精品| 久久精品视频一区二区三区| 精品久久人人做人人爰| 26uuu亚洲综合色欧美| 久久免费精品国产久精品久久久久| 欧美videos中文字幕| 亚洲精品一区二区三区蜜桃下载| 日韩精品中文字幕一区二区三区 | 精品捆绑美女sm三区| 精品久久久久久久人人人人传媒 | www日韩大片| 久久久99精品免费观看| 国产视频亚洲色图| 国产女同互慰高潮91漫画| 国产性色一区二区| 亚洲色大成网站www久久九九| 国产精品成人一区二区艾草| ㊣最新国产の精品bt伙计久久| 亚洲欧美在线视频观看| 一个色在线综合| 麻豆专区一区二区三区四区五区| 日本va欧美va欧美va精品| 精品亚洲成a人在线观看| 成人免费观看视频| 欧美色男人天堂| 欧美mv日韩mv国产| 中文字幕一区日韩精品欧美| 亚洲已满18点击进入久久| 美女任你摸久久| 成人不卡免费av| 欧美日韩一级视频| 国产喷白浆一区二区三区| 亚洲欧美在线观看| 美女视频黄 久久| 99久久久久免费精品国产| 91麻豆精品国产91久久久| 亚洲国产精品av| 天天做天天摸天天爽国产一区| 国产一区二区看久久| 91久久精品一区二区| 日韩欧美一二三四区| 亚洲色图色小说| 免费观看久久久4p| 日本高清不卡一区| 久久久久久久网| 五月天精品一区二区三区| 成人激情小说网站| www国产亚洲精品久久麻豆| 亚洲伊人伊色伊影伊综合网| 国产69精品久久久久777| 欧美一卡2卡3卡4卡| 亚洲午夜影视影院在线观看|