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

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

?? dsatest.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package org.bouncycastle.jce.provider.test;import java.io.ByteArrayInputStream;import java.io.IOException;import java.math.BigInteger;import java.security.AlgorithmParameterGenerator;import java.security.AlgorithmParameters;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import java.security.SecureRandom;import java.security.Security;import java.security.Signature;import java.security.interfaces.DSAPrivateKey;import java.security.interfaces.DSAPublicKey;import java.security.spec.DSAParameterSpec;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;import org.bouncycastle.asn1.ASN1InputStream;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.DERInteger;import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.bouncycastle.jce.spec.ECParameterSpec;import org.bouncycastle.jce.spec.ECPrivateKeySpec;import org.bouncycastle.jce.spec.ECPublicKeySpec;import org.bouncycastle.math.ec.ECCurve;import org.bouncycastle.util.BigIntegers;import org.bouncycastle.util.encoders.Hex;import org.bouncycastle.util.test.FixedSecureRandom;import org.bouncycastle.util.test.SimpleTest;public class DSATest    extends SimpleTest{    byte[] k1 = Hex.decode("d5014e4b60ef2ba8b6211b4062ba3224e0427dd3");    byte[] k2 = Hex.decode("345e8d05c075c3a508df729a1685690e68fcfb8c8117847e89063bca1f85d968fd281540b6e13bd1af989a1fbf17e06462bf511f9d0b140fb48ac1b1baa5bded");    SecureRandom    random = new FixedSecureRandom(new byte[][] { k1, k2 });        public void testCompat()        throws Exception    {        Signature           s = Signature.getInstance("DSA", "SUN");        KeyPairGenerator    g = KeyPairGenerator.getInstance("DSA", "SUN");        byte[]              data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };                g.initialize(512, new SecureRandom());                KeyPair p = g.generateKeyPair();                PrivateKey  sKey = p.getPrivate();        PublicKey   vKey = p.getPublic();                //        // sign SUN - verify with BC         //        s.initSign(sKey);                s.update(data);                byte[]  sigBytes = s.sign();                s = Signature.getInstance("DSA", "BC");                s.initVerify(vKey);                s.update(data);                if (!s.verify(sigBytes))        {            fail("SUN -> BC verification failed");        }                //        // sign BC - verify with SUN        //                s.initSign(sKey);                s.update(data);                sigBytes = s.sign();                s = Signature.getInstance("DSA", "SUN");                s.initVerify(vKey);                s.update(data);                if (!s.verify(sigBytes))        {            fail("BC -> SUN verification failed");        }                //        // key encoding test - BC decoding Sun keys        //        KeyFactory          f = KeyFactory.getInstance("DSA", "BC");        X509EncodedKeySpec  x509s = new X509EncodedKeySpec(vKey.getEncoded());        DSAPublicKey        k1 = (DSAPublicKey)f.generatePublic(x509s);                if (!k1.getY().equals(((DSAPublicKey)vKey).getY()))        {            fail("public number not decoded properly");        }                if (!k1.getParams().getG().equals(((DSAPublicKey)vKey).getParams().getG()))        {            fail("public generator not decoded properly");        }                if (!k1.getParams().getP().equals(((DSAPublicKey)vKey).getParams().getP()))        {            fail("public p value not decoded properly");        }                if (!k1.getParams().getQ().equals(((DSAPublicKey)vKey).getParams().getQ()))        {            fail("public q value not decoded properly");        }                PKCS8EncodedKeySpec  pkcs8 = new PKCS8EncodedKeySpec(sKey.getEncoded());        DSAPrivateKey        k2 = (DSAPrivateKey)f.generatePrivate(pkcs8);                if (!k2.getX().equals(((DSAPrivateKey)sKey).getX()))        {            fail("private number not decoded properly");        }                if (!k2.getParams().getG().equals(((DSAPrivateKey)sKey).getParams().getG()))        {            fail("private generator not decoded properly");        }                if (!k2.getParams().getP().equals(((DSAPrivateKey)sKey).getParams().getP()))        {            fail("private p value not decoded properly");        }                if (!k2.getParams().getQ().equals(((DSAPrivateKey)sKey).getParams().getQ()))        {            fail("private q value not decoded properly");        }                //        // key decoding test - SUN decoding BC keys        //         f = KeyFactory.getInstance("DSA", "SUN");        x509s = new X509EncodedKeySpec(k1.getEncoded());                vKey = (DSAPublicKey)f.generatePublic(x509s);                if (!k1.getY().equals(((DSAPublicKey)vKey).getY()))        {            fail("public number not decoded properly");        }                if (!k1.getParams().getG().equals(((DSAPublicKey)vKey).getParams().getG()))        {            fail("public generator not decoded properly");        }                if (!k1.getParams().getP().equals(((DSAPublicKey)vKey).getParams().getP()))        {            fail("public p value not decoded properly");        }                if (!k1.getParams().getQ().equals(((DSAPublicKey)vKey).getParams().getQ()))        {            fail("public q value not decoded properly");        }                pkcs8 = new PKCS8EncodedKeySpec(k2.getEncoded());        sKey = (DSAPrivateKey)f.generatePrivate(pkcs8);                if (!k2.getX().equals(((DSAPrivateKey)sKey).getX()))        {            fail("private number not decoded properly");        }                if (!k2.getParams().getG().equals(((DSAPrivateKey)sKey).getParams().getG()))        {            fail("private generator not decoded properly");        }                if (!k2.getParams().getP().equals(((DSAPrivateKey)sKey).getParams().getP()))        {            fail("private p value not decoded properly");        }                if (!k2.getParams().getQ().equals(((DSAPrivateKey)sKey).getParams().getQ()))        {            fail("private q value not decoded properly");        }                //    }    /**     * X9.62 - 1998,<br>     * J.3.2, Page 155, ECDSA over the field Fp<br>     * an example with 239 bit prime     */    private void testECDSA239bitPrime()        throws Exception    {        BigInteger r = new BigInteger("308636143175167811492622547300668018854959378758531778147462058306432176");        BigInteger s = new BigInteger("323813553209797357708078776831250505931891051755007842781978505179448783");        byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("700000017569056646655505781757157107570501575775705779575555657156756655"));        SecureRandom    k = new FixedSecureRandom(kData);        ECCurve curve = new ECCurve.Fp(                new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q                new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a                new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b                ECParameterSpec spec = new ECParameterSpec(                curve,                curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G                new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n                        ECPrivateKeySpec priKey = new ECPrivateKeySpec(                new BigInteger("876300101507107567501066130761671078357010671067781776716671676178726717"), // d                spec);                ECPublicKeySpec pubKey = new ECPublicKeySpec(                curve.decodePoint(Hex.decode("025b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c70")), // Q                spec);                Signature           sgr = Signature.getInstance("ECDSA", "BC");        KeyFactory          f = KeyFactory.getInstance("ECDSA", "BC");        PrivateKey          sKey = f.generatePrivate(priKey);        PublicKey           vKey = f.generatePublic(pubKey);                sgr.initSign(sKey, k);                byte[] message = new byte[] { (byte)'a', (byte)'b', (byte)'c' };                sgr.update(message);                byte[]  sigBytes = sgr.sign();                sgr.initVerify(vKey);                sgr.update(message);                if (!sgr.verify(sigBytes))        {            fail("239 Bit EC verification failed");        }                BigInteger[]  sig = derDecode(sigBytes);                if (!r.equals(sig[0]))        {            fail("r component wrong." + System.getProperty("line.separator")                    + " expecting: " + r + System.getProperty("line.separator")                    + " got      : " + sig[0]);        }                if (!s.equals(sig[1]))        {            fail("s component wrong." + System.getProperty("line.separator")                    + " expecting: " + s + System.getProperty("line.separator")                    + " got      : " + sig[1]);        }    }    /**     * X9.62 - 1998,<br>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品久久7777| 精品国产乱码久久久久久图片| 久草热8精品视频在线观看| 亚洲综合一区二区| 亚洲一区二区三区视频在线 | 91蜜桃网址入口| 在线欧美一区二区| 精品av久久707| 国产精品国模大尺度视频| 中文字幕字幕中文在线中不卡视频| 国产精品电影一区二区| 另类专区欧美蜜桃臀第一页| 国产成人在线色| 欧美日韩一本到| 国产精品久久免费看| 蜜臀av一区二区在线观看| www.在线成人| 久久亚洲捆绑美女| 午夜婷婷国产麻豆精品| 91视频观看视频| 久久精品一区二区三区不卡牛牛| 亚洲欧美日韩国产综合在线| 激情欧美日韩一区二区| 欧美一区二区三区人| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩激情一区二区| 自拍av一区二区三区| 国产在线精品一区二区三区不卡| 欧美午夜不卡视频| 一区二区三区**美女毛片| 91网页版在线| 亚洲高清视频中文字幕| 在线观看亚洲成人| 性做久久久久久免费观看| 欧美军同video69gay| 亚洲成a人片在线不卡一二三区| aaa亚洲精品| 亚洲一区二区黄色| 欧美一区二区大片| 波多野结衣欧美| 亚洲图片欧美色图| 日韩欧美中文字幕精品| 精品一区二区三区免费视频| 久久久91精品国产一区二区精品| 国产精品一区二区你懂的| 国产精品少妇自拍| 51精品国自产在线| 国产精品一区不卡| 天天色 色综合| 国产精品久久久久久久午夜片| 在线看国产一区二区| 国产在线视视频有精品| 一区二区三区电影在线播| 久久免费精品国产久精品久久久久| 国产精品夜夜爽| 日韩av中文字幕一区二区三区 | 图片区小说区区亚洲影院| 精品国产91乱码一区二区三区| 91麻豆免费看片| 国产精品18久久久| 久久国产欧美日韩精品| 亚洲电影中文字幕在线观看| 亚洲国产精品成人综合色在线婷婷| 国产午夜三级一区二区三| 国产一区二区三区视频在线播放| 狠狠久久亚洲欧美| 5566中文字幕一区二区电影| 欧美人牲a欧美精品| 亚洲高清不卡在线观看| 麻豆精品视频在线| 99国产欧美另类久久久精品| 7878成人国产在线观看| 国产精品区一区二区三区| 亚洲一二三四在线| www.久久久久久久久| 精品人在线二区三区| 香蕉久久一区二区不卡无毒影院 | 在线观看91视频| 日韩亚洲欧美一区二区三区| 国产欧美日韩在线视频| 亚洲一区av在线| 高清国产午夜精品久久久久久| 色综合夜色一区| 国产女主播一区| 视频一区中文字幕国产| www.亚洲人| 337p日本欧洲亚洲大胆色噜噜| 国产精品伦理在线| 蜜臀精品久久久久久蜜臀| 色噜噜狠狠成人中文综合| 精品久久国产97色综合| 亚洲va在线va天堂| 91麻豆123| 亚洲天堂av一区| 国产黄色成人av| 精品国产乱子伦一区| 婷婷国产在线综合| 欧美体内she精视频| 国产精品二区一区二区aⅴ污介绍| 日本欧美加勒比视频| 日韩一区二区三区免费看 | 免费成人在线观看视频| 欧美亚一区二区| 亚洲美女淫视频| 欧美三级电影网站| 久久se这里有精品| 2020日本不卡一区二区视频| 国产成人av在线影院| 欧美国产精品v| 欧美日韩国产高清一区| 奇米亚洲午夜久久精品| 欧美精品一区二区三区蜜桃视频| 国产高清不卡一区二区| 国产精品电影一区二区| 欧美猛男男办公室激情| 国产精品主播直播| 一区2区3区在线看| 日韩欧美第一区| 欧美日韩激情一区| 成人av高清在线| 麻豆成人91精品二区三区| 国产欧美在线观看一区| 欧美日本在线视频| 不卡一卡二卡三乱码免费网站| 亚洲va在线va天堂| 欧美国产日韩a欧美在线观看| 欧美日韩中文一区| 国内精品国产成人国产三级粉色 | 91精品国产综合久久福利软件 | 久久久久久夜精品精品免费| 久久综合九色综合97_久久久| 中文字幕av不卡| 亚洲电影第三页| 国产高清精品网站| 国产成人免费高清| 国产综合久久久久久久久久久久| 日韩国产成人精品| 视频在线观看91| 国产在线乱码一区二区三区| 日本欧美加勒比视频| 蜜臀久久99精品久久久画质超高清| 亚洲欧美怡红院| 午夜视频在线观看一区二区三区| 亚洲成av人片在线| 久久99久久久久| 成人午夜激情片| 欧美在线免费播放| 日韩亚洲电影在线| 欧美国产综合一区二区| 综合色天天鬼久久鬼色| 午夜精品免费在线| 国产在线精品免费av| 不卡一区二区在线| 欧美精品一二三| 中文字幕佐山爱一区二区免费| 亚洲国产aⅴ天堂久久| 一区二区久久久久久| 色综合天天做天天爱| 欧美高清在线精品一区| 国产剧情一区二区| 国产女主播一区| 亚洲一区二区精品久久av| 97精品国产97久久久久久久久久久久| 欧美顶级少妇做爰| 男人的天堂亚洲一区| 欧美日韩在线电影| 亚洲成人7777| 欧美男生操女生| 蜜桃一区二区三区在线| 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品久久一线不卡| 欧美亚洲动漫精品| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久狠狠亚洲综合| 精品国产自在久精品国产| 精品国产乱码久久久久久闺蜜 | 成人av资源在线| 欧美一区二区三区日韩| 亚洲高清在线精品| 欧美三级电影在线观看| 亚洲不卡av一区二区三区| 色婷婷综合久久久久中文一区二区| 久久久久久影视| 亚洲成人激情av| 国产乱子伦一区二区三区国色天香| 免费欧美日韩国产三级电影| 蜜乳av一区二区三区| 国产成人三级在线观看| 在线免费观看日本欧美| 国产欧美日韩亚州综合| 亚洲免费大片在线观看| 日韩精品1区2区3区| 成人美女视频在线观看18| 在线观看亚洲一区| 国产精品福利一区| 狠狠色丁香久久婷婷综| 91在线一区二区| 国产日韩一级二级三级| 国内久久精品视频| 欧美日韩国产系列|