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

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

?? jcedhkeyagreement.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.jce.provider;import java.math.BigInteger;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.security.Key;import java.security.SecureRandom;import java.security.spec.AlgorithmParameterSpec;import javax.crypto.KeyAgreementSpi;import javax.crypto.SecretKey;import javax.crypto.ShortBufferException;import javax.crypto.interfaces.DHPrivateKey;import javax.crypto.interfaces.DHPublicKey;import javax.crypto.spec.DHParameterSpec;import javax.crypto.spec.SecretKeySpec;/** * Diffie-Hellman key agreement. There's actually a better way of doing this * if you are using long term public keys, see the light-weight version for * details. */public class JCEDHKeyAgreement    extends KeyAgreementSpi{    private BigInteger      x;    private BigInteger      p;    private BigInteger      g;    private BigInteger      result;    private SecureRandom    random;        private byte[] bigIntToBytes(        BigInteger    r)    {        byte[]    tmp = r.toByteArray();                if (tmp[0] == 0)        {            byte[]    ntmp = new byte[tmp.length - 1];                        System.arraycopy(tmp, 1, ntmp, 0, ntmp.length);            return ntmp;        }                return tmp;    }        protected Key engineDoPhase(        Key     key,        boolean lastPhase)         throws InvalidKeyException, IllegalStateException    {        if (x == null)        {            throw new IllegalStateException("Diffie-Hellman not initialised.");        }        if (!(key instanceof DHPublicKey))        {            throw new InvalidKeyException("DHKeyAgreement doPhase requires DHPublicKey");        }        DHPublicKey pubKey = (DHPublicKey)key;        if (!pubKey.getParams().getG().equals(g) || !pubKey.getParams().getP().equals(p))        {            throw new InvalidKeyException("DHPublicKey not for this KeyAgreement!");        }        if (lastPhase)        {            result = ((DHPublicKey)key).getY().modPow(x, p);            return null;        }        else        {            result = ((DHPublicKey)key).getY().modPow(x, p);        }        return new JCEDHPublicKey(result, pubKey.getParams());    }    protected byte[] engineGenerateSecret()         throws IllegalStateException    {        if (x == null)        {            throw new IllegalStateException("Diffie-Hellman not initialised.");        }        return bigIntToBytes(result);    }    protected int engineGenerateSecret(        byte[]  sharedSecret,        int     offset)         throws IllegalStateException, ShortBufferException    {        if (x == null)        {            throw new IllegalStateException("Diffie-Hellman not initialised.");        }        byte[]  secret = bigIntToBytes(result);        if (sharedSecret.length - offset < secret.length)        {            throw new ShortBufferException("DHKeyAgreement - buffer too short");        }        System.arraycopy(secret, 0, sharedSecret, offset, secret.length);        return secret.length;    }    protected SecretKey engineGenerateSecret(        String algorithm)     {        if (x == null)        {            throw new IllegalStateException("Diffie-Hellman not initialised.");        }                return new SecretKeySpec(bigIntToBytes(result), algorithm);    }    protected void engineInit(        Key                     key,        AlgorithmParameterSpec  params,        SecureRandom            random)         throws InvalidKeyException, InvalidAlgorithmParameterException    {        if (!(key instanceof DHPrivateKey))        {            throw new InvalidKeyException("DHKeyAgreement requires DHPrivateKey for initialisation");        }        DHPrivateKey    privKey = (DHPrivateKey)key;        this.random = random;        if (params != null)        {            if (!(params instanceof DHParameterSpec))            {                throw new InvalidAlgorithmParameterException("DHKeyAgreement only accepts DHParameterSpec");            }            DHParameterSpec p = (DHParameterSpec)params;            this.p = p.getP();            this.g = p.getG();        }        else        {            this.p = privKey.getParams().getP();            this.g = privKey.getParams().getG();        }        this.x = this.result = privKey.getX();    }    protected void engineInit(        Key             key,        SecureRandom    random)         throws InvalidKeyException    {        if (!(key instanceof DHPrivateKey))        {            throw new InvalidKeyException("DHKeyAgreement requires DHPrivateKey");        }        DHPrivateKey    privKey = (DHPrivateKey)key;        this.random = random;        this.p = privKey.getParams().getP();        this.g = privKey.getParams().getG();        this.x = this.result = privKey.getX();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看91视频大全| 午夜久久久久久电影| 欧美精品在线视频| 欧美日韩国产精品自在自线| 在线亚洲欧美专区二区| 91成人在线精品| 欧美日韩久久一区| 欧美日韩国产一区二区三区地区| 色婷婷激情一区二区三区| 91精品福利视频| 精品视频色一区| 日韩精品一区二区三区在线 | 日韩午夜激情av| 欧美日韩高清一区| 欧美一区日韩一区| 久久精品在这里| 亚洲日本在线观看| 亚洲高清中文字幕| 美女一区二区视频| 国产精品一区二区视频| 成人午夜电影网站| 日本乱人伦一区| 91精品国产高清一区二区三区 | 日韩视频在线观看一区二区| 精品日韩在线一区| 欧美韩日一区二区三区四区| 亚洲日本va午夜在线电影| 亚洲.国产.中文慕字在线| 六月丁香婷婷久久| 91丨porny丨户外露出| 欧美视频在线不卡| 欧美成人bangbros| 亚洲精品伦理在线| 国产一区欧美二区| 精品少妇一区二区| 国产精品盗摄一区二区三区| 亚洲国产va精品久久久不卡综合| 九九**精品视频免费播放| 91丨porny丨国产入口| 日韩欧美在线网站| 一区二区三区四区激情| 国产精品一线二线三线| 欧美日韩夫妻久久| 亚洲视频狠狠干| 日韩avvvv在线播放| 成人免费视频视频在线观看免费| 欧美另类一区二区三区| 成人免费一区二区三区在线观看| 精品一区二区三区在线播放| 欧美综合色免费| 国产精品高潮久久久久无| 蜜桃视频一区二区| 欧美日韩中字一区| 亚洲美女电影在线| 国产二区国产一区在线观看| 欧美一级久久久| 午夜久久久久久电影| 91片黄在线观看| 中文字幕亚洲欧美在线不卡| 国产尤物一区二区| 精品捆绑美女sm三区| 三级欧美在线一区| 91首页免费视频| 中文字幕在线观看不卡| 国产精品99久久久久久久vr | 91一区在线观看| 久久九九国产精品| 国产美女娇喘av呻吟久久| 欧美大片在线观看一区二区| 蜜臀av一区二区| 日韩视频中午一区| 久久精品av麻豆的观看方式| 中文字幕在线视频一区| 国产成a人亚洲| 久久久精品欧美丰满| 国产露脸91国语对白| 久久一区二区三区四区| 国产麻豆精品视频| 久久婷婷国产综合精品青草| 久久精品国产色蜜蜜麻豆| 精品免费国产二区三区| 精品无码三级在线观看视频| 久久久精品tv| 99国产欧美另类久久久精品| 亚洲精品国产品国语在线app| 在线观看中文字幕不卡| 午夜视频在线观看一区二区三区| 在线观看免费亚洲| 日精品一区二区三区| 日韩视频一区二区三区| 激情综合色综合久久| 国产拍欧美日韩视频二区| 成人的网站免费观看| 一区二区三区丝袜| 欧美一区二区三区四区久久| 国产伦精一区二区三区| 成人欧美一区二区三区| 欧美丰满高潮xxxx喷水动漫| 国内精品伊人久久久久av一坑| 欧美国产一区视频在线观看| 色婷婷久久久综合中文字幕| 日韩和欧美一区二区三区| 欧美成人激情免费网| 成人av网站在线观看| 日本午夜精品视频在线观看| 久久精品欧美一区二区三区不卡 | 中文字幕视频一区二区三区久| 一本大道久久a久久综合婷婷| 丝袜亚洲另类欧美| 国产日产欧产精品推荐色| 欧美在线视频全部完| 国产剧情在线观看一区二区| 亚洲精品福利视频网站| 日韩三级.com| 在线观看日韩精品| 国产一区二区精品久久| 一区二区三区免费观看| 久久你懂得1024| 91国偷自产一区二区开放时间| 日韩国产欧美一区二区三区| 中文字幕在线观看一区二区| 日韩女优电影在线观看| 91精品1区2区| 成人开心网精品视频| 青青草97国产精品免费观看 | 亚洲午夜av在线| 国产精品婷婷午夜在线观看| 91精品国产91久久久久久一区二区| 不卡av免费在线观看| 国产一区91精品张津瑜| 蜜臀av性久久久久av蜜臀妖精| 一区二区三区欧美久久| 国产精品欧美一区喷水| www久久久久| 日韩欧美一级片| 欧美久久一二区| 欧美亚洲综合另类| www.综合网.com| 国产不卡视频一区| 国产一区二区不卡老阿姨| 免费成人在线视频观看| 午夜激情一区二区三区| 亚洲欧美日韩在线不卡| 国产精品久久毛片av大全日韩| 国产喂奶挤奶一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 日韩丝袜美女视频| 欧美一区二区三区播放老司机| 欧美日本乱大交xxxxx| 欧美日韩日本视频| 精品1区2区3区| 欧美网站大全在线观看| 欧洲精品在线观看| 欧美色图在线观看| 欧美日韩日日夜夜| 日韩欧美在线一区二区三区| 欧美电影免费观看高清完整版在线 | 亚洲卡通欧美制服中文| 国产精品第四页| 日韩伦理电影网| 亚洲精品欧美激情| 亚洲一区二区在线观看视频| 一片黄亚洲嫩模| 亚洲大型综合色站| 亚洲成a人片在线不卡一二三区| 亚洲国产一区二区在线播放| 天涯成人国产亚洲精品一区av| 日本在线不卡一区| 国产精品正在播放| 91伊人久久大香线蕉| 欧美天堂一区二区三区| 日韩欧美国产一区二区在线播放| 亚洲精品在线三区| 国产精品色哟哟网站| 亚洲国产日韩av| 美国毛片一区二区三区| 国产91精品一区二区麻豆网站| 99久久精品国产导航| 8x福利精品第一导航| 久久一夜天堂av一区二区三区 | 亚洲成年人影院| 六月丁香婷婷久久| 成人一级黄色片| 欧美性大战久久久久久久蜜臀| 欧美国产精品v| 一区二区三区四区国产精品| 免费精品99久久国产综合精品| 风间由美一区二区av101| 91伊人久久大香线蕉| 欧美精品v国产精品v日韩精品| 精品国产一区二区三区久久影院 | 久久无码av三级| 亚洲欧美视频在线观看视频| 蜜桃在线一区二区三区| 白白色 亚洲乱淫| 91精品一区二区三区在线观看| 国产精品免费看片| 青青草国产成人av片免费| 91玉足脚交白嫩脚丫在线播放| 精品美女一区二区三区|