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

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

?? clientsend.java

?? JAVA實現的可以采用公鑰私鑰加密解密程序
?? JAVA
字號:
 import java.security.Provider;
  import java.security.*;
 import java.security.spec.*;
 import java.io.*;
 import javax.crypto.*;
 import javax.crypto.Cipher;

 public class ClientSend extends Thread{

 public static void main(String[] args){
   ClientSend my=new ClientSend();
   String file="info.dat";
    my.run(file);
  }

  //生成一對文件myprikey.dat和mypubkey.dat---私鑰和公鑰,
  //公鑰要用戶發送(文件,網絡等方法)給其它用戶,私鑰保存在本地
  public boolean generatekey()
  {
    try {
    KeyPairGenerator  keygen=KeyPairGenerator.getInstance("RSA");
    keygen.initialize(1024);  //密鑰大小
   // KeyPair keys=keygen.genKeyPair();
    KeyPair keys=keygen.generateKeyPair(); //生成密鑰組
    PublicKey pubkey=keys.getPublic();
    PrivateKey prikey=keys.getPrivate();

    ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("MyPrikey.dat"));
    out.writeObject(prikey);
    out.close();
    System.out.println("寫入對象 prikeys ok");

   /* 將公鑰pubKey保存在文件pubKey.dat文件中,供接收方使用*/
    out=new ObjectOutputStream(new FileOutputStream("MyPubkey.dat"));
    out.writeObject(pubkey);
    out.close();
    System.out.println("寫入對象 pubkeys ok");

    System.out.println("生成密鑰對成功");
    return true;
   }
   catch (java.lang.Exception e) {
   e.printStackTrace();
   System.out.println("生成密鑰對失敗");
   return false;
   }

  }

   public String byte2hex(byte[] b)
    {
     String hs="";
     String stmp="";
     for (int n=0;n<b.length;n++)
      {
       stmp=(Integer.toHexString(b[n] & 0XFF));
       if (stmp.length()==1) hs=hs+"0"+stmp;
       else hs=hs+stmp;
       if (n<b.length-1)  hs=hs+":";
      }
     return hs.toUpperCase();
    }



  public void run(String filename)
  {
     Security.addProvider(new com.sun.crypto.provider.SunJCE());
  	 //第一步生成密鑰對,如果已經生成過,本過程就可以跳過,對用戶來講myprikey.dat要保存在本地
  //而mypubkey.dat給發布給其它用戶
     if ((new File("MyPrikey.dat")).exists()==false) {
        if (generatekey()==false) {
           System.out.println("生成密鑰對失敗");
           return;
          }
        }

     try {

     //從文件中讀取私要進行簽名
     ObjectInputStream in=new ObjectInputStream(new FileInputStream("MyPrikey.dat"));
     PrivateKey priKey=(PrivateKey)in.readObject();
     in.close();
      System.out.println("讀私鑰");


     /*生成DES算法的密鑰Key*/

     KeyGenerator SinglekeyGen = KeyGenerator.getInstance("DES");
     SinglekeyGen.init(56);
     Key SingleKey = SinglekeyGen.generateKey();
	 System.out.println("生成DES對稱密鑰");

  	  /*從文件info.dat讀出需要傳輸的原始數據并保存在數組info_Plain[]中*/
     RandomAccessFile fin=new RandomAccessFile(filename,"rw");//以只讀形式打開文件
     long f1=fin.length();   //文件的長度
     int  f2=(int)f1;
     byte[] info_Plain=new byte[f2];   //建一個字節數組b存放文件
     fin.read(info_Plain,0,f2);
     fin.close();

     System.out.println("原文件信息:"+new String(info_Plain));
  //  System.out.println("原文件二進制信息:"+byte2hex(info_Plain));


     /* 將待傳輸的信息用DES加密,并將加密后的數據保存在數組Des_info[]中*/
     Cipher cipher = Cipher.getInstance("DES");
     cipher.init(Cipher.ENCRYPT_MODE,SingleKey);
     byte[] Des_info= cipher.doFinal(info_Plain);
     System.out.println("加密成功");
    // System.out.println("明文加密后得到的信息:"+byte2hex(Des_info));

     /*將待傳輸的原始信息生成消息摘要MD_1*/
     MessageDigest messageDigest = MessageDigest.getInstance("MD5");
     messageDigest.update(info_Plain);
	 byte[] MD_1 = messageDigest.digest();   //得到消息的摘要MD_1里
	 System.out.println("消息摘要生成成功");
	// System.out.println("經過MD5消息摘要是:"+byte2hex(MD_1));


	 //把對稱密鑰加到摘要md_1后形成新的字節數組MD_Key;
	 byte[] MD_Key=JOIN(MD_1,SingleKey);

	// System.out.println("合并摘要和加密密鑰后的二進制信息為:"+byte2hex(MD_Key));


    /* 將消息摘要MD_1[]和對稱密鑰SingleKey合并到字節數組MD_Key[]中,并用RSA算法中的私鑰對該數組加密并保存在數組Rsa_sign[]中形成了數字簽名*/

     Cipher cipher1 = Cipher.getInstance("RSA/ECB/PKCS1Padding","SUN");
     System.out.println(cipher.getProvider().getInfo());
     cipher1.init(Cipher.ENCRYPT_MODE, priKey);
     byte[] Rsa_sign = cipher1.doFinal(MD_Key);
     System.out.println("公鑰生成數字簽名成功!");

   //System.out.println("RSA加密后的:"+byte2hex(Rsa_sign));


  /*將需要傳輸的原文的密文和數字簽名寫到文件En_info.dat中,En_info.dat即為在網上傳輸的信息*/
   ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("En_info.dat"));
   out.writeObject(Des_info);
   out.writeObject(Rsa_sign);
   out.close();
   System.out.println("原文件加密的密文和數字簽名寫到En_info.dat成功#!");
   }catch (Exception e) {
    e.printStackTrace();
    System.out.println(e.toString());

  }


  }
  /*  合并數組的算法(主要就是通過循環將對稱密鑰添加到消息摘要數組的后面,形成一個新的數組MD_Key[],對稱密鑰要通過強制類型轉化為byte類型)*/
  public byte[] JOIN(byte[] A,Key deskey)
 { System.out.println("開始合并!");
  byte[] B=deskey.toString().getBytes();
  System.out.println("密鑰在字符數組B中"+byte2hex(B));
   int alen=A.length;

   int blen=B.length;
   int length=alen+blen;

   System.out.println("總長"+alen+blen+(alen+blen));
   byte[] C=new byte[length];
   int i;
   int j=0;
   for( i=0;i<length;i++)
   {
     if(i<alen)
     { C[i]=A[i];
     // System.out.println(C[i]);
      }
    else
    {
      if(j<blen)
      {
     	C[i]=B[j];
     	j++;
      //  System.out.println(C[i]);
      }
    }
    }
   System.out.println("合并消息摘要和對稱密鑰成功!");
  return C;
 }

 }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人在线直播| 亚洲小说欧美激情另类| 夜夜嗨av一区二区三区四季av| 午夜精品久久久久久久99水蜜桃 | 亚洲超碰精品一区二区| 国产一区日韩二区欧美三区| 欧美日韩高清影院| 国产精品国产a| 精油按摩中文字幕久久| 欧美美女直播网站| 中文字幕一区三区| 国产高清精品久久久久| 日韩一级视频免费观看在线| 一区二区三区日本| bt欧美亚洲午夜电影天堂| 久久影院视频免费| 日韩精品亚洲一区| 欧美性一区二区| 亚洲欧美区自拍先锋| 国产 欧美在线| 日韩欧美激情在线| 日本视频免费一区| 欧美美女网站色| 亚欧色一区w666天堂| 在线视频国内自拍亚洲视频| 中文字幕一区免费在线观看| 成人a级免费电影| 国产精品色噜噜| 高清成人在线观看| 中文字幕不卡的av| 成人一区二区三区中文字幕| 久久久久99精品国产片| 国产一区不卡视频| 久久亚区不卡日本| 国产成人精品一区二| 久久久91精品国产一区二区三区| 精品在线观看免费| 精品国内片67194| 国产在线精品国自产拍免费| 久久久久成人黄色影片| 粉嫩aⅴ一区二区三区四区五区| 国产日韩av一区| 不卡电影一区二区三区| 一区二区三区产品免费精品久久75 | 成人av在线资源网站| 最新成人av在线| 欧美日韩亚洲综合在线| 日本aⅴ亚洲精品中文乱码| 欧美一区二区三区四区久久| 麻豆91在线观看| 国产清纯在线一区二区www| 不卡一区二区在线| 亚洲国产日韩一区二区| 欧美日韩三级视频| 国产一区二区三区最好精华液| 久久久99精品免费观看| 91丝袜高跟美女视频| 亚洲午夜在线观看视频在线| 精品日韩99亚洲| 成人午夜精品在线| 亚洲午夜久久久久久久久电影院| 日韩久久免费av| 成人激情黄色小说| 亚洲超丰满肉感bbw| 久久午夜色播影院免费高清| 99国产精品久久| 五月天网站亚洲| 久久先锋影音av| 在线观看欧美精品| 极品少妇xxxx精品少妇| 亚洲精品视频一区| 日韩欧美在线123| 成人av在线一区二区三区| 日韩av电影免费观看高清完整版| 久久麻豆一区二区| 欧美亚洲免费在线一区| 国产成人av网站| 日韩一区精品字幕| 国产精品色在线| 日韩欧美资源站| 一本一道波多野结衣一区二区| 捆绑调教一区二区三区| 亚洲日本欧美天堂| 精品国产乱码久久久久久牛牛 | 国产乱色国产精品免费视频| 亚洲一区二区三区影院| 国产精品久久久久久久裸模| 日韩欧美国产综合一区 | 91麻豆精品国产综合久久久久久| 国产成人午夜高潮毛片| 日韩在线a电影| 一区二区三区免费在线观看| 国产婷婷精品av在线| 宅男噜噜噜66一区二区66| 色哟哟欧美精品| 国产99久久久国产精品 | 日韩国产精品久久久| 国产精品理论片在线观看| 精品99久久久久久| 欧美一级夜夜爽| 69成人精品免费视频| 91成人在线免费观看| 99re这里只有精品首页| 国产超碰在线一区| 国产精品自拍三区| 久久99精品网久久| 蜜臀av性久久久久av蜜臀妖精| 亚洲综合色网站| 亚洲欧美日韩中文字幕一区二区三区| 中文在线免费一区三区高中清不卡| 精品国产乱码久久久久久1区2区| 91精品视频网| 3d成人动漫网站| 欧美一区二区三区影视| 制服丝袜在线91| 欧美videos大乳护士334| 欧美大度的电影原声| 日韩美女一区二区三区四区| 欧美一区二区视频在线观看2022| 欧美日韩成人在线| 日韩欧美一二区| 日韩精品一区二区三区swag | 欧美国产丝袜视频| 久久久久国产一区二区三区四区| 精品国一区二区三区| 亚洲精品在线一区二区| 久久久久久99久久久精品网站| 精品国产乱码久久久久久夜甘婷婷 | 夜夜爽夜夜爽精品视频| 亚洲午夜一二三区视频| 丝袜美腿一区二区三区| 蜜桃精品视频在线| 成人一二三区视频| 99久久国产综合精品色伊| 色婷婷av久久久久久久| 制服.丝袜.亚洲.中文.综合| 欧美精品一区二区三区视频| 国产日韩欧美高清| 一区二区三区四区蜜桃 | 国产99精品视频| 一本到一区二区三区| 欧美一区二区三区小说| 国产亚洲精品超碰| 亚洲精品中文在线影院| 日本v片在线高清不卡在线观看| 国产呦精品一区二区三区网站| 成人黄色777网| 欧美日韩一区二区三区视频| 久久久国产午夜精品| 一区二区三区视频在线看| 日本亚洲免费观看| 成人黄色小视频| 在线成人av影院| 日本一区二区不卡视频| 亚洲大片精品永久免费| 黄色日韩网站视频| 99久久久精品| 精品国产污污免费网站入口| 亚洲天堂a在线| 精品一区二区三区免费播放| 99re亚洲国产精品| 日韩欧美一区在线| 一区二区视频在线| 久久国产麻豆精品| 欧美性色黄大片手机版| 欧美激情综合在线| 日韩av一二三| 91小视频免费观看| 精品久久五月天| 亚洲第一电影网| av在线播放不卡| www日韩大片| 蜜桃91丨九色丨蝌蚪91桃色| 日本国产一区二区| 中文字幕av一区二区三区高| 美女尤物国产一区| 欧美影视一区在线| 成人免费在线视频观看| 国产成人午夜高潮毛片| 欧美成人伊人久久综合网| 午夜激情一区二区| 欧美综合在线视频| 综合分类小说区另类春色亚洲小说欧美| 麻豆精品视频在线观看视频| 欧美性一二三区| 一区二区三区在线观看网站| www.在线欧美| 国产日韩欧美精品一区| 久久国产精品72免费观看| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲成人激情综合网| 色噜噜久久综合| 国产精品久久久久久久岛一牛影视 | 欧美色综合影院| 亚洲免费资源在线播放| av亚洲精华国产精华精华| 中文字幕av在线一区二区三区| 国产精品99久久久久久似苏梦涵 | 亚洲美女视频在线| 波多野结衣中文字幕一区二区三区|