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

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

?? keygen.java

?? 另一個使用java編寫的加密通用算法包
?? JAVA
字號:
/*// $Log: KeyGen.java,v $// Revision 1.2  1999/06/30 23:06:44  edwin// Changing package name and fixing references to moved and/or changed classes.//// Revision 1.1.1.1  1997/11/03 22:36:55  hopwood// + Imported to CVS (tagged as 'start').//// $Endlog$*/package cryptix.examples.pgp;import java.io.*;import java.util.Date;import cryptix.math.*;import cryptix.security.*;import cryptix.security.rsa.*;import cryptix.pgp.*;import cryptix.mime.LegacyString;/** * DOCUMENT ME. * <p> * SECURITY: this should not be public, since it writes to "pubring.pgp" and * "secring.pgp". */class KeyGen implements RSAKeyGenObserver{    private static final int MIN_KEY_LENGTH = 384;    private static final int MAX_KEY_LENGTH = 6000;        protected DataInputStream in;    protected PrintStream out;        public KeyGen(InputStream in, PrintStream out)    {        this.in = (in instanceof DataInputStream) ? (DataInputStream) in                                                  : new DataInputStream(in);        this.out = out;    }    public KeyGen()    {        this(System.in, System.out);    }    public static void main(String[] args)    {        new KeyGen().begin();    }    protected final void begin()    {        try        {            String name = getUserName();            int len = getKeyLength();            RandomStream rs;            SecretKey gsk = getKey(len, rs = getRandomStream(len));            System.out.println("Key generated.");            String passphrase = getPassphrase();            saveNewKey(gsk, name, passphrase, rs);        }        catch(Exception e)        {            System.out.println("Key gen aborted.");            e.printStackTrace();        }    }    protected SecretKey getKey(int length, RandomStream rs)    {        return new RSAKeyGen(rs).createKey(length, this);    }    protected String getUserName()    throws IOException    {        out.println();        out.print("Please enter your user name? ");        out.flush();        in.readLine(); //why ??        String name = in.readLine();        out.print("using name  ");        out.println(name);        return name;    }    protected int getKeyLength()    throws IOException    {        while (true)        {            int len;            out.print("Please enter key size (512, 2048 etc).");            out.flush();            try            {                len = Integer.parseInt(in.readLine().trim());            }            catch (NumberFormatException nfe)            {                out.println("Bad format number try again.");                continue;            }            if (len < MIN_KEY_LENGTH)            {                out.println("Key bit length too short. (<" + MIN_KEY_LENGTH + ")");                continue;            }            if (len > MAX_KEY_LENGTH)            {                out.println("Key bit length too long. (>" + MAX_KEY_LENGTH + ")");                continue;            }            return len;        }    }        /**     * This is NOT VERY SECURE as the seed is rather simplistic.     */    protected RandomStream getRandomStream(int keyLength)    throws IOException    {        int min = ((keyLength / 6) + 10);        ByteArrayOutputStream seedBuffer = new ByteArrayOutputStream(8192);        PrintStream seedout = new PrintStream(seedBuffer);        seedout.print(new Date());        seedout.println("Please enter some random data");        out.print("You will have to enter a minimum of ");        out.print(min);        out.println(" characters;");        seedout.print(System.currentTimeMillis());        SHA sha = new SHA();        MD5 md5 = new MD5();        while (min > 0)        {            String data = in.readLine();            sha.add(LegacyString.toByteArray(                Long.toString(System.currentTimeMillis())));            sha.add(LegacyString.toByteArray(data));            min -= data.length();            seedout.print(min);            seedout.print(data.length());            seedout.print(System.currentTimeMillis());            seedout.print(data);            out.print("characters to go ");            out.println(min < 0 ? 0 : min);            md5.add(LegacyString.toByteArray(data));            md5.add(LegacyString.toByteArray(                Long.toString(System.currentTimeMillis(), 16)));        }        try        {            seedout.write(sha.digest());            seedout.write(md5.digest());        }        catch (IOException ioe)        {            ioe.printStackTrace(seedout);        }        return new CSRandomStream(SHA.hash(seedBuffer.toByteArray()));    }        /**     * WARNING this prints the passphrase out on to the screen.     */    protected String getPassphrase() throws IOException    {        String passphrase = "";        while(true)        {            out.print(" please enter passphrase ");            out.flush();            String pass1 = in.readLine();            out.print(" please re-enter passphrase ");            out.flush();            passphrase = in.readLine();            if (pass1.equals(passphrase))                return passphrase;            out.println("Passphrases do not match.");            out.println("Please try again.");        }    }        private final void saveNewKey(SecretKey gsk, String name, String passphrase,                                   RandomStream rs)    throws IOException    {            FileOutputStream pubring;        FileOutputStream secring;        UserId username = new UserId(name);        DataOutputStream pub = new DataOutputStream(            pubring = new FileOutputStream("pubring.pgp"));        PublicKeyCertificate pkc = new PublicKeyCertificate(gsk); // sk isa pk.        PacketFactory.write(pub, pkc);        PacketFactory.write(pub, new KeyRingTrust((byte) 0x87));        PacketFactory.write(pub, username);        PacketFactory.write(pub, new KeyRingTrust((byte) 0x03));        pubring.close();        DataOutputStream sec = new DataOutputStream(            secring = new FileOutputStream("secring.pgp"));        SecretKeyCertificate skc = new SecretKeyCertificate(            gsk, new Passphrase(passphrase) , rs);        PacketFactory.write(sec, skc);        PacketFactory.write(sec, username);        secring.close();    }        public void handleEvent(int evnt)    {        switch (evnt)        {        case HAS_SMALL_FACTORS:            out.print("-");            out.flush();            break;        case NOT_PRIME:            out.print("+");            out.flush();            break;        case IS_PRIME:            out.print("*");            out.flush();            break;        case FINDING_P:            out.println();            out.print("p:");            out.flush();            break;        case FINDING_Q:            out.println();            out.print("q:");            out.flush();            break;        case KEY_RESOLVING:            out.println("Key resolving begins");            break;        case NO_SMALL_FACTORS:        case KEY_GEN_DONE:            break;        default:            out.println("Unexpected event : " + evnt);            break;        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费观看高清完整版在线观看| 欧洲精品视频在线观看| 亚洲国产精品一区二区久久恐怖片| 亚洲国产精品ⅴa在线观看| 精品毛片乱码1区2区3区| 91精选在线观看| 欧美日本韩国一区二区三区视频| 欧洲一区二区三区在线| 欧美日韩一区在线观看| 色94色欧美sute亚洲线路二| 色猫猫国产区一区二在线视频| 99国产精品久| 欧美亚洲日本国产| 欧美日韩久久不卡| 91精品国产手机| 日韩欧美在线影院| 久久综合成人精品亚洲另类欧美| 久久亚洲捆绑美女| 国产精品久线观看视频| 一区二区高清免费观看影视大全 | 国产美女视频91| 国产精品自拍毛片| 成人av在线网站| 91成人在线免费观看| 在线播放视频一区| 国产亚洲一区二区三区四区 | 免费观看一级欧美片| 国产真实乱子伦精品视频| 国产精品一区二区三区乱码| 99麻豆久久久国产精品免费| 欧美日韩黄视频| 久久久久久亚洲综合影院红桃| 亚洲欧美在线视频观看| 亚洲一区二区五区| 国产综合色视频| 色综合欧美在线视频区| 日韩网站在线看片你懂的| 国产日韩欧美制服另类| 午夜久久久久久久久久一区二区| 国产成人一区在线| 欧美综合亚洲图片综合区| 日本一区二区三区免费乱视频| 亚洲一区二区三区在线看| 精品写真视频在线观看| 色国产综合视频| 久久色成人在线| 日韩1区2区3区| 在线一区二区观看| 中文字幕av一区二区三区免费看| 午夜a成v人精品| 色先锋资源久久综合| 国产午夜亚洲精品羞羞网站| 亚洲成人免费影院| av午夜一区麻豆| 国产欧美视频一区二区| 日本成人在线网站| 欧美亚洲日本一区| 亚洲欧美电影一区二区| 国产成人在线网站| xvideos.蜜桃一区二区| 首页亚洲欧美制服丝腿| 欧美午夜精品免费| 亚洲乱码国产乱码精品精可以看 | 国产精品久久网站| 国产毛片精品一区| 精品少妇一区二区| 美日韩一级片在线观看| 91精品综合久久久久久| 亚洲国产日韩av| 欧美亚洲综合另类| 亚洲午夜久久久久久久久久久| 99精品热视频| 日韩一区中文字幕| 91麻豆福利精品推荐| 自拍偷拍国产精品| 色综合天天综合在线视频| 中文字幕亚洲在| 不卡av电影在线播放| 中文字幕一区三区| 96av麻豆蜜桃一区二区| 亚洲丝袜自拍清纯另类| 91网站视频在线观看| 亚洲精品网站在线观看| 9色porny自拍视频一区二区| 最新不卡av在线| 91高清在线观看| 日韩综合小视频| 欧美一级高清大全免费观看| 看电影不卡的网站| 久久精品免费在线观看| av不卡一区二区三区| 亚洲精品久久7777| 欧美精品在线观看播放| 久久成人免费网| 国产亚洲综合av| 色综合中文字幕国产 | 懂色av一区二区夜夜嗨| 中文字幕欧美国产| 在线观看视频一区二区| 午夜精品久久久久久久久久| 欧美一区二区三区在线| 国产乱码精品一区二区三区av | 成人国产精品免费观看视频| 亚洲免费观看在线观看| 91精品国产综合久久久久久漫画| 久久福利资源站| 国产精品国产成人国产三级| 欧美色综合网站| 久久99热国产| 一区二区三区四区在线| 日韩欧美亚洲国产另类| 成人一区二区三区视频| 亚洲最大成人网4388xx| 欧美电视剧免费观看| av在线不卡观看免费观看| 午夜精品久久久久久久蜜桃app| 26uuu亚洲综合色欧美| 色综合一个色综合亚洲| 看国产成人h片视频| 亚洲欧美另类久久久精品2019| 欧美精品一区二区精品网| 日本精品一区二区三区高清| 久久av老司机精品网站导航| 亚洲色图.com| 国产日韩欧美电影| 91精品国产一区二区三区蜜臀 | 日韩经典一区二区| 国产精品久久久久国产精品日日| 在线成人午夜影院| 色综合视频在线观看| 国产精品456露脸| 麻豆精品一区二区| 五月婷婷另类国产| 亚洲精品成人a在线观看| 国产丝袜欧美中文另类| 日韩欧美国产精品| 欧美日韩视频在线一区二区| 99久久免费精品| 国产mv日韩mv欧美| 国产福利一区在线| 精品一区二区在线视频| 丝瓜av网站精品一区二区| 亚洲综合激情小说| 亚洲另类在线制服丝袜| 国产精品久久网站| 国产精品网站在线| 欧美韩日一区二区三区四区| 欧美mv日韩mv亚洲| 精品国内片67194| 精品福利视频一区二区三区| 欧美一级片在线观看| 3atv在线一区二区三区| 欧美日韩1区2区| 在线不卡a资源高清| 欧美精品aⅴ在线视频| 欧美区在线观看| 欧美精品久久久久久久久老牛影院 | 午夜成人在线视频| 天堂蜜桃91精品| 日本视频在线一区| 另类人妖一区二区av| 麻豆视频观看网址久久| 久久精品久久99精品久久| 蜜臀国产一区二区三区在线播放| 免费视频一区二区| 极品美女销魂一区二区三区 | 国产91精品久久久久久久网曝门| 国产99久久久久| 色94色欧美sute亚洲线路一ni| 91久久奴性调教| 91精品国产综合久久久久久漫画| 精品99一区二区| 久久久www成人免费无遮挡大片| 国产日韩精品一区二区浪潮av| 国产精品久久久久aaaa| 亚洲综合色视频| 蜜桃av噜噜一区二区三区小说| 国产美女一区二区| 一本到高清视频免费精品| 在线欧美日韩国产| 欧美xfplay| 国产精品福利一区| 天天操天天干天天综合网| 久久激情综合网| 91麻豆蜜桃一区二区三区| 欧美一区二区久久久| 中文字幕电影一区| 午夜精品影院在线观看| 国产成人一区在线| 欧美日韩一区小说| 国产精品美女一区二区| 天天色综合成人网| 成a人片亚洲日本久久| 欧美精选一区二区| 国产精品麻豆99久久久久久| 亚洲国产综合在线| 成人午夜视频在线| 欧美成人一区二区三区片免费| 亚洲天堂成人在线观看| 久久99精品久久久久婷婷|