日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

20175212童皓桢 实验五 网络编程与安全

發(fā)布時間:2024/1/8 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20175212童皓桢 实验五 网络编程与安全 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

20175212童皓楨 實驗五 網(wǎng)絡(luò)編程與安全

實驗內(nèi)容

  • 結(jié)對編程,完成網(wǎng)絡(luò)編程與安全相關(guān)內(nèi)容

    實驗步驟

    任務(wù)一

    任務(wù)一要求:
  • 結(jié)對實現(xiàn)中綴表達式轉(zhuǎn)后綴表達式的功能 MyBC.java
  • 結(jié)對實現(xiàn)從上面功能中獲取的表達式中實現(xiàn)后綴表達式求值的功能,調(diào)用MyDC.java
    實驗過程:
    由中綴式求得后綴式可以使用棧,偽代碼如下:
  • - 設(shè)立一個棧,存放運算符,首先棧為空; - 從左到右掃描中綴式,若遇到操作數(shù),直接輸出,并輸出一個空格作為兩個操作數(shù)的分隔符; - 若遇到運算符,則與棧頂比較,比棧頂級別高則進棧,否則退出棧頂元素并輸出,然后輸出一個空格作分隔符; - 若遇到左括號,進棧;若遇到右括號,則一直退棧輸出,直到退到左括號止。 - 當(dāng)棧變成空時,輸出的結(jié)果即為后綴表達式 后綴表達式求值偽代碼如下: - 設(shè)置一個操作數(shù)棧,開始棧為空; - 從左到右遍歷后綴表達式,遇操作數(shù),進棧; - 若遇運算符,則從棧中退出兩個元素,先退出的放到運算符的右邊,后退出的放到運算符左邊,運算后的結(jié)果再進棧,直到后綴表達式遍歷完畢。 - 重復(fù)以上步驟,直至后綴表達式結(jié)束,棧中最后一個數(shù)字就是表達式的值。

    實驗代碼:

    • MyDC
    public class MyBC {private Stack theStack;private String input;private String output = "";public MyBC(String in) {input = in;int stackSize = input.length();theStack = new Stack(stackSize);}public String doTrans() {for (int j = 0; j < input.length(); j++) {char ch = input.charAt(j);switch (ch) {case '+':case '-':getOp(ch, 1);break;case '*':case '/':getOp(ch, 2);break;case '(':theStack.push(ch);break;case ')':getParen(ch);break;default:output = output + ch;break;}}while (!theStack.isEmpty()) {output = output + theStack.pop();}return output;}public void getOp(char opThis, int prec1) {while (!theStack.isEmpty()) {char opTop = theStack.pop();if (opTop == '(') {theStack.push(opTop);break;} else {int prec2;if (opTop == '+' || opTop == '-')prec2 = 1;elseprec2 = 2;if (prec2 < prec1) {theStack.push(opTop);break;} elseoutput = output + opTop;}}theStack.push(opThis);}public void getParen(char ch) {while (!theStack.isEmpty()) {char chx = theStack.pop();if (chx == '(')break;elseoutput = output + chx;}}class Stack {private int maxSize;private char[] stackArray;private int top;public Stack(int max) {maxSize = max;stackArray = new char[maxSize];top = -1;}public void push(char j) {stackArray[++top] = j;}public char pop() {return stackArray[top--];}public char peek() {return stackArray[top];}public boolean isEmpty() {return (top == -1);}} }
    • MyDC
    import java.util.StringTokenizer; import java.util.Stack;public class MyDC {/** constant for addition symbol */private final char ADD = '+';/** constant for subtraction symbol */private final char SUBTRACT = '-';/** constant for multiplication symbol */private final char MULTIPLY = '*';/** constant for division symbol */private final char DIVIDE = '/';/** the stack */private Stack<Integer> stack;public MyDC() {stack = new Stack<Integer>();}public int evaluate (String str){int op1, op2, result = 0;String token;StringTokenizer tokenizer = new StringTokenizer (str);while (tokenizer.hasMoreTokens()){token = tokenizer.nextToken();//如果是運算符,調(diào)用isOperatorif (isOperator(token)) {//從棧中彈出操作數(shù)2op2 = stack.pop();//從棧中彈出操作數(shù)1op1 = stack.pop();//根據(jù)運算符和兩個操作數(shù)調(diào)用evalSingleOp計算result;result=evalSingleOp(token.charAt(0), op1, op2);//計算result入棧;stack.push(result);} else//如果是操作數(shù)//操作數(shù)入棧;stack.push(Integer.parseInt(token));}return result;}private boolean isOperator (String token){return ( token.equals("+") || token.equals("-") ||token.equals("*") || token.equals("/") );}private int evalSingleOp (char operation, int op1, int op2){int result = 0;switch (operation){case ADD:result = op1 + op2;break;case SUBTRACT:result = op1 - op2;break;case MULTIPLY:result = op1 * op2;break;case DIVIDE:result = op1 / op2;}return result;} }
    • MyBCTest
    import java.util.StringTokenizer; import java.util.Stack;public class MyDC {/** constant for addition symbol */private final char ADD = '+';/** constant for subtraction symbol */private final char SUBTRACT = '-';/** constant for multiplication symbol */private final char MULTIPLY = '*';/** constant for division symbol */private final char DIVIDE = '/';/** the stack */private Stack<Integer> stack;public MyDC() {stack = new Stack<Integer>();}public int evaluate (String str){int op1, op2, result = 0;String token;StringTokenizer tokenizer = new StringTokenizer (str);while (tokenizer.hasMoreTokens()){token = tokenizer.nextToken();//如果是運算符,調(diào)用isOperatorif (isOperator(token)) {//從棧中彈出操作數(shù)2op2 = stack.pop();//從棧中彈出操作數(shù)1op1 = stack.pop();//根據(jù)運算符和兩個操作數(shù)調(diào)用evalSingleOp計算result;result=evalSingleOp(token.charAt(0), op1, op2);//計算result入棧;stack.push(result);} else//如果是操作數(shù)//操作數(shù)入棧;stack.push(Integer.parseInt(token));}return result;}private boolean isOperator (String token){return ( token.equals("+") || token.equals("-") ||token.equals("*") || token.equals("/") );}private int evalSingleOp (char operation, int op1, int op2){int result = 0;switch (operation){case ADD:result = op1 + op2;break;case SUBTRACT:result = op1 - op2;break;case MULTIPLY:result = op1 * op2;break;case DIVIDE:result = op1 / op2;}return result;} }

    運行結(jié)果:

    任務(wù)二

    任務(wù)二要求:

    1人負責(zé)客戶端,一人負責(zé)服務(wù)器

  • 注意責(zé)任歸宿,要會通過測試證明自己沒有問題
  • 基于Java Socket實現(xiàn)客戶端/服務(wù)器功能,傳輸方式用TCP
  • 客戶端讓用戶輸入中綴表達式,然后把中綴表達式調(diào)用MyBC.java的功能轉(zhuǎn)化為后綴表達式,把后綴表達式通過網(wǎng)絡(luò)發(fā)送給服務(wù)器
  • 服務(wù)器接收到后綴表達式,調(diào)用MyDC.java的功能計算后綴表達式的值,把結(jié)果發(fā)送給客戶端
  • 客戶端顯示服務(wù)器發(fā)送過來的結(jié)果- 提交代碼運行截圖和碼云Git鏈接
  • 實驗過程

    • java.net.Socket:

    • 套接字是一個網(wǎng)絡(luò)連接的端點。在java中,使用java.net.Socket對象來表示一個套接字。
    • 要創(chuàng)建一個套接字,可以使用Socket的構(gòu)造方法,如:public Socket(java.lang.String host, int port)。其中,host是遠程機器名或IP地址,port是遠程應(yīng)用程序的端口號。
    • 一旦成功創(chuàng)建了Socket類的一個實例,就可以使用它發(fā)送或接收字節(jié)流。要發(fā)送字節(jié)流,必須先調(diào)用Socket類的getOutputStream方法來獲取一個java.io.OutputStream對象。要向遠程應(yīng)用程序發(fā)送文本,通常要從返回的OutputStream對象構(gòu)建一個java.io.PrintWriter對象。要接收來自連接的另一端的字節(jié)流,可以調(diào)用Socket類的getInputStream方法,它返回一個java.io.InputStream。
      『java.net.ServerSocket』:
    • ServerSocket是服務(wù)器套接字的一個實現(xiàn)。ServerSocket和Socket不同,服務(wù)器套接字的角色是,等待來自客戶端的連接請求。一旦服務(wù)器套接字獲得了一個連接請求,它就會創(chuàng)建一個Socket實例,以處理和客戶端的通信。

    • Address

    import java.net.*;public class Address {public static void main(String[] args) throws UnknownHostException {InetAddress net = InetAddress.getLocalHost();System.out.println(net.toString());}}
    • Client
    import java.io.*; import java.net.*;public class Client {public static void main(String args[]) {System.out.println("客戶端啟動...");//while (true) {Socket mysocket;DataInputStream in = null;DataOutputStream out = null;try {mysocket = new Socket("192.168.56.1", 2019);in = new DataInputStream(mysocket.getInputStream());out = new DataOutputStream(mysocket.getOutputStream());System.out.println("請輸入:");String str = new BufferedReader(new InputStreamReader(System.in)).readLine();MyBC turner = new MyBC(str);String infix;infix=turner.doTrans();StringBuilder newInfix = new StringBuilder(infix.replace(" ",""));for (int i = 1; i < infix.length()+(i+1)/2 ; i=i+2) {newInfix.insert(i," ");}out.writeUTF(newInfix.toString());//調(diào)用toString()方法,返回newInflx的String值,以便調(diào)用writeUTF方法String s = in.readUTF(); //in讀取信息,堵塞狀態(tài)System.out.println("客戶收到服務(wù)器的回答:" + s);Thread.sleep(500);//在500毫秒數(shù)讓當(dāng)前正在執(zhí)行的線程休眠} catch (Exception e) {System.out.println("服務(wù)器已斷開" + e);}//}} }
    • Server
    import java.io.*; import java.net.*;public class Server {public static void main(String[] args) throws IOException {int answer;//while (true) {ServerSocket serverForClient = null;Socket socketOnServer = null;DataOutputStream out = null;DataInputStream in = null;try {serverForClient = new ServerSocket(2019);} catch (IOException e1) {System.out.println(e1);}try {System.out.println("等待客戶呼叫");socketOnServer = serverForClient.accept(); //堵塞狀態(tài),除非有客戶呼叫out = new DataOutputStream(socketOnServer.getOutputStream());in = new DataInputStream(socketOnServer.getInputStream());String s = in.readUTF(); // in讀取信息,堵塞狀態(tài)System.out.println("服務(wù)器收到客戶的提問:" + s);MyDC myDC = new MyDC();answer = myDC.evaluate(s);out.writeUTF(answer + "");Thread.sleep(500);} catch (Exception e) {System.out.println("客戶已斷開" + e);}//}} }

    運行結(jié)果:

    任務(wù)三

    任務(wù)三要求:

    1人負責(zé)客戶端,一人負責(zé)服務(wù)器

  • 注意責(zé)任歸宿,要會通過測試證明自己沒有問題
  • 基于Java Socket實現(xiàn)客戶端/服務(wù)器功能,傳輸方式用TCP
  • 客戶端讓用戶輸入中綴表達式,然后把中綴表達式調(diào)用MyBC.java的功能轉(zhuǎn)化為后綴表達式,把后綴表達式用3DES或AES算法加密后通過網(wǎng)絡(luò)把密文發(fā)送給服務(wù)器
  • 服務(wù)器接收到后綴表達式表達式后,進行解密(和客戶端協(xié)商密鑰,可以用數(shù)組保存),然后調(diào)用MyDC.java的功能計算后綴表達式的值,把結(jié)果發(fā)送給客戶端
  • 客戶端顯示服務(wù)器發(fā)送過來的結(jié)果
    • Client.java
    import javax.crypto.Cipher; import java.io.*; import java.net.*; import java.security.Key;public class Client {public static void main(String args[]) {System.out.println("客戶端啟動...");//while (true) {Socket mysocket;DataInputStream in = null;DataOutputStream out = null;try {mysocket = new Socket("192.168.56.1", 2019);in = new DataInputStream(mysocket.getInputStream());out = new DataOutputStream(mysocket.getOutputStream());System.out.println("請輸入:");String str = new BufferedReader(new InputStreamReader(System.in)).readLine();MyBC turner = new MyBC(str);String infix;infix=turner.doTrans();StringBuilder newInfix = new StringBuilder(infix.replace(" ",""));for (int i = 1; i < infix.length()+(i+1)/2 ; i=i+2) {newInfix.insert(i," ");}String str1=newInfix.toString();//DES加密String a=null;FileInputStream f=new FileInputStream("key1.dat");ObjectInputStream b=new ObjectInputStream(f);Key k=(Key)b.readObject( );Cipher cp=Cipher.getInstance("DESede");cp.init(Cipher.ENCRYPT_MODE, k);byte ptext[]=str1.getBytes("UTF8");byte ctext[]=cp.doFinal(ptext);for(int i=0;i<ctext.length;i++){a+=String.valueOf(ctext[i]);}FileOutputStream f2=new FileOutputStream("SEnc.dat");f2.write(ctext);out.writeUTF(a);//調(diào)用toString()方法,返回newInflx的String值,以便調(diào)用writeUTF方法String s = in.readUTF(); //in讀取信息,堵塞狀態(tài)System.out.println("客戶收到服務(wù)器的回答:" + s);Thread.sleep(500);//在500毫秒數(shù)讓當(dāng)前正在執(zhí)行的線程休眠} catch (Exception e) {System.out.println("服務(wù)器已斷開" + e);}//}} }
    • Server.java
    import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.io.*; import java.net.*;public class Server {public static void main(String[] args) throws IOException {int answer;//while (true) {ServerSocket serverForClient = null;Socket socketOnServer = null;DataOutputStream out = null;DataInputStream in = null;try {serverForClient = new ServerSocket(2019);} catch (IOException e1) {System.out.println(e1);}try {System.out.println("等待客戶呼叫");socketOnServer = serverForClient.accept(); //堵塞狀態(tài),除非有客戶呼叫out = new DataOutputStream(socketOnServer.getOutputStream());in = new DataInputStream(socketOnServer.getInputStream());String s = in.readUTF(); // in讀取信息,堵塞狀態(tài)// 獲取密文FileInputStream f=new FileInputStream("SEnc.dat");int num=f.available();byte[ ] ctext=new byte[num];f.read(ctext);// 獲取密鑰FileInputStream f2=new FileInputStream("keykb1.dat");int num2=f2.available();byte[ ] keykb=new byte[num2];f2.read(keykb);SecretKeySpec k=new SecretKeySpec(keykb,"DESede");// 解密Cipher cp=Cipher.getInstance("DESede");cp.init(Cipher.DECRYPT_MODE, k);byte []ptext=cp.doFinal(ctext);// 顯示明文String p=new String(ptext,"UTF8");System.out.println("服務(wù)器收到客戶的提問:" + p);MyDC myDC = new MyDC();answer = myDC.evaluate(p);out.writeUTF(answer + "");Thread.sleep(500);} catch (Exception e) {System.out.println("客戶已斷開" + e);}//}} }
    • Skey_DES.java
    import java.io.*; import javax.crypto.*; public class Skey_DES{public static void main(String args[])throws Exception{KeyGenerator kg=KeyGenerator.getInstance("DESede");kg.init(168);SecretKey k=kg.generateKey( );FileOutputStream f=new FileOutputStream("key1.dat");ObjectOutputStream b=new ObjectOutputStream(f);b.writeObject(k);} }
    • Skey_kb.java
    import java.io.*; import java.security.*; public class Skey_kb{public static void main(String args[]) throws Exception{FileInputStream f=new FileInputStream("key1.dat");ObjectInputStream b=new ObjectInputStream(f);Key k=(Key)b.readObject( );byte[ ] kb=k.getEncoded( );FileOutputStream f2=new FileOutputStream("keykb1.dat");f2.write(kb);// 打印密鑰編碼中的內(nèi)容for(int i=0;i<kb.length;i++){System.out.print(kb[i]+",");}} }

    運行結(jié)果:

    任務(wù)四

    任務(wù)四要求:

    1人負責(zé)客戶端,一人負責(zé)服務(wù)器

  • 注意責(zé)任歸宿,要會通過測試證明自己沒有問題
  • 基于Java Socket實現(xiàn)客戶端/服務(wù)器功能,傳輸方式用TCP
  • 客戶端讓用戶輸入中綴表達式,然后把中綴表達式調(diào)用MyBC.java的功能轉(zhuǎn)化為后綴表達式,把后綴表達式用3DES或AES算法加密通過網(wǎng)絡(luò)把密文發(fā)送給服務(wù)器
  • 客戶端和服務(wù)器用DH算法進行3DES或AES算法的密鑰交換
  • 服務(wù)器接收到后綴表達式表達式后,進行解密,然后調(diào)用MyDC.java的功能計算后綴表達式的值,把結(jié)果發(fā)送給客戶端
  • 客戶端顯示服務(wù)器發(fā)送過來的結(jié)果
    • Client
    import java.net.*; import java.io.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; public class Client {public static void main(String []args) throws Exception{try{// 1、創(chuàng)建客戶端Socket,指定服務(wù)器地址和端口Socket socket=new Socket("192.168.56.1",2019);System.out.println("客戶端成功啟動,等待客戶端呼叫");// 2、獲取輸出流,向服務(wù)器端發(fā)送信息// 向本機的10001端口發(fā)出客戶請求System.out.println("請輸入中綴表達式:");BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 由系統(tǒng)標(biāo)準(zhǔn)輸入設(shè)備構(gòu)造BufferedReader對象PrintWriter write = new PrintWriter(socket.getOutputStream());// 由Socket對象得到輸出流,并構(gòu)造PrintWriter對象//3、獲取輸入流,并讀取服務(wù)器端的響應(yīng)信息BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));// 由Socket對象得到輸入流,并構(gòu)造相應(yīng)的BufferedReader對象String readline, infix, expression;readline = br.readLine(); // 從系統(tǒng)標(biāo)準(zhǔn)輸入讀入一字符串MyBC theTrans = new MyBC(readline);infix = theTrans.doTrans();StringBuilder newInfix = new StringBuilder(infix.replace(" ",""));for (int i = 1; i < infix.length()+(i+1)/2 ; i=i+2) {newInfix.insert(i," ");}System.out.println("后綴表達式: " + newInfix);expression=newInfix.toString();// 讀取對方的DH公鑰FileInputStream f1=new FileInputStream("Bpub");ObjectInputStream b1=new ObjectInputStream(f1);PublicKey pbk=(PublicKey)b1.readObject( );//讀取自己的DH私鑰FileInputStream f2=new FileInputStream("Asec");ObjectInputStream b2=new ObjectInputStream(f2);PrivateKey prk=(PrivateKey)b2.readObject( );// 執(zhí)行密鑰協(xié)定KeyAgreement ka=KeyAgreement.getInstance("DH");ka.init(prk);ka.doPhase(pbk,true);//生成共享信息byte[ ] sb=ka.generateSecret();//System.out.println(sb.length);byte[]ssb=new byte[24];for(int i=0;i<24;i++)ssb[i]=sb[i];Key k=new SecretKeySpec(ssb,"DESede");Cipher cp=Cipher.getInstance("DESede");cp.init(Cipher.ENCRYPT_MODE, k);byte ptext[]=expression.getBytes("UTF-8");byte ctext[]=cp.doFinal(ptext);String Str=new String(ctext,"ISO-8859-1");while (!readline.equals("end")) {// 若從標(biāo)準(zhǔn)輸入讀入的字符串為 "end"則停止循環(huán)write.println(Str);// 將從系統(tǒng)標(biāo)準(zhǔn)輸入讀入的字符串輸出到Serverwrite.flush();// 刷新輸出流,使Server馬上收到該字符串System.out.println("加密后的信息:" + Str);// 在系統(tǒng)標(biāo)準(zhǔn)輸出上打印讀入的字符串System.out.println("服務(wù)器發(fā)來的信息:" + in.readLine());// 從Server讀入一字符串,并打印到標(biāo)準(zhǔn)輸出上readline = br.readLine(); // 從系統(tǒng)標(biāo)準(zhǔn)輸入讀入一字符串} // 繼續(xù)循環(huán)//4、關(guān)閉資源write.close(); // 關(guān)閉Socket輸出流in.close(); // 關(guān)閉Socket輸入流socket.close(); // 關(guān)閉Socket}catch (Exception e){System.out.println(e);//輸出異常}finally{}} }
    • Serve
    import java.net.*; import java.io.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; public class Server{public static void main(String []args) throws Exception{ServerSocket sc = null;Socket socket=null;try{MyDC evaluator = new MyDC();sc= new ServerSocket(2019);//創(chuàng)建服務(wù)器套接字//System.out.println("端口號:" + sc.getLocalPort());System.out.println("服務(wù)器成功啟動,等待客戶端應(yīng)答");socket = sc.accept(); //等待客戶端連接System.out.println("已經(jīng)建立連接");//獲得網(wǎng)絡(luò)輸入流對象的引用BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));//獲得網(wǎng)絡(luò)輸出流對象的引用PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);//使用服務(wù)器端RSA的私鑰對DES的密鑰進行解密String aline2=in.readLine();System.out.println("客戶端發(fā)來的信息為:"+aline2);// 獲取密鑰byte[]ctext=aline2.getBytes("ISO-8859-1");// 讀取對方的DH公鑰FileInputStream f1=new FileInputStream("Bpub");ObjectInputStream b1=new ObjectInputStream(f1);PublicKey pbk=(PublicKey)b1.readObject( );//讀取自己的DH私鑰FileInputStream f2=new FileInputStream("Asec");ObjectInputStream b2=new ObjectInputStream(f2);PrivateKey prk=(PrivateKey)b2.readObject( );// 執(zhí)行密鑰協(xié)定KeyAgreement ka=KeyAgreement.getInstance("DH");ka.init(prk);ka.doPhase(pbk,true);//生成共享信息byte[ ] sb=ka.generateSecret();byte[]ssb=new byte[24];for(int i=0;i<24;i++)ssb[i]=sb[i];SecretKeySpec k=new SecretKeySpec(ssb,"DESede");// 解密Cipher cp=Cipher.getInstance("DESede");cp.init(Cipher.DECRYPT_MODE, k);byte []ptext=cp.doFinal(ctext);// 顯示明文String p=new String(ptext,"UTF8");int ans = evaluator.evaluate(p);out.println(ans);System.out.println("Result = "+ans);} catch (Exception e) {System.out.println(e);}}//十六進制和十進制轉(zhuǎn)換public static byte[] parseHexStr2Byte(String hexStr){if (hexStr.length() < 1)return null;byte[] result = new byte[hexStr.length()/2];for (int i = 0;i< hexStr.length()/2; i++){int high = Integer.parseInt(hexStr.substring(i*2, i*2+1 ), 16);int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16);result[i] = (byte) (high * 16 + low);}return result;} }
    • KeyAgree
    import java.io.*; import java.math.*; import java.security.*; import java.security.spec.*; import javax.crypto.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*;public class KeyAgree{public static void main(String args[ ]) throws Exception{// 讀取對方的DH公鑰FileInputStream f1=new FileInputStream("Bpub");ObjectInputStream b1=new ObjectInputStream(f1);PublicKey pbk=(PublicKey)b1.readObject( ); //讀取自己的DH私鑰FileInputStream f2=new FileInputStream("Asec");ObjectInputStream b2=new ObjectInputStream(f2);PrivateKey prk=(PrivateKey)b2.readObject( );// 執(zhí)行密鑰協(xié)定KeyAgreement ka=KeyAgreement.getInstance("DH");ka.init(prk);ka.doPhase(pbk,true);//生成共享信息byte[ ] sb=ka.generateSecret();for(int i=0;i<sb.length;i++){System.out.print(sb[i]+",");}SecretKeySpec k=new SecretKeySpec(sb,"DESede");} }
    • Key_DH.java
    import java.io.*; import java.math.*; import java.security.*; import java.security.spec.*; import javax.crypto.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*;import java.io.*; import java.math.*; import java.security.*; import java.security.spec.*; import javax.crypto.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*;public class Key_DH{//三個靜態(tài)變量的定義從 // C:\j2sdk-1_4_0-doc\docs\guide\security\jce\JCERefGuide.html // 拷貝而來 // The 1024 bit Diffie-Hellman modulus values used by SKIPprivate static final byte skip1024ModulusBytes[] = {(byte)0xF4, (byte)0x88, (byte)0xFD, (byte)0x58,(byte)0x4E, (byte)0x49, (byte)0xDB, (byte)0xCD,(byte)0x20, (byte)0xB4, (byte)0x9D, (byte)0xE4,(byte)0x91, (byte)0x07, (byte)0x36, (byte)0x6B,(byte)0x33, (byte)0x6C, (byte)0x38, (byte)0x0D,(byte)0x45, (byte)0x1D, (byte)0x0F, (byte)0x7C,(byte)0x88, (byte)0xB3, (byte)0x1C, (byte)0x7C,(byte)0x5B, (byte)0x2D, (byte)0x8E, (byte)0xF6,(byte)0xF3, (byte)0xC9, (byte)0x23, (byte)0xC0,(byte)0x43, (byte)0xF0, (byte)0xA5, (byte)0x5B,(byte)0x18, (byte)0x8D, (byte)0x8E, (byte)0xBB,(byte)0x55, (byte)0x8C, (byte)0xB8, (byte)0x5D,(byte)0x38, (byte)0xD3, (byte)0x34, (byte)0xFD,(byte)0x7C, (byte)0x17, (byte)0x57, (byte)0x43,(byte)0xA3, (byte)0x1D, (byte)0x18, (byte)0x6C,(byte)0xDE, (byte)0x33, (byte)0x21, (byte)0x2C,(byte)0xB5, (byte)0x2A, (byte)0xFF, (byte)0x3C,(byte)0xE1, (byte)0xB1, (byte)0x29, (byte)0x40,(byte)0x18, (byte)0x11, (byte)0x8D, (byte)0x7C,(byte)0x84, (byte)0xA7, (byte)0x0A, (byte)0x72,(byte)0xD6, (byte)0x86, (byte)0xC4, (byte)0x03,(byte)0x19, (byte)0xC8, (byte)0x07, (byte)0x29,(byte)0x7A, (byte)0xCA, (byte)0x95, (byte)0x0C,(byte)0xD9, (byte)0x96, (byte)0x9F, (byte)0xAB,(byte)0xD0, (byte)0x0A, (byte)0x50, (byte)0x9B,(byte)0x02, (byte)0x46, (byte)0xD3, (byte)0x08,(byte)0x3D, (byte)0x66, (byte)0xA4, (byte)0x5D,(byte)0x41, (byte)0x9F, (byte)0x9C, (byte)0x7C,(byte)0xBD, (byte)0x89, (byte)0x4B, (byte)0x22,(byte)0x19, (byte)0x26, (byte)0xBA, (byte)0xAB,(byte)0xA2, (byte)0x5E, (byte)0xC3, (byte)0x55,(byte)0xE9, (byte)0x2F, (byte)0x78, (byte)0xC7};// The SKIP 1024 bit modulusprivate static final BigInteger skip1024Modulus= new BigInteger(1, skip1024ModulusBytes);// The base used with the SKIP 1024 bit modulusprivate static final BigInteger skip1024Base = BigInteger.valueOf(2);public static void main(String args[ ]) throws Exception{DHParameterSpec DHP=new DHParameterSpec(skip1024Modulus,skip1024Base);KeyPairGenerator kpg= KeyPairGenerator.getInstance("DH");kpg.initialize(DHP);KeyPair kp=kpg.genKeyPair();PublicKey pbk=kp.getPublic();PrivateKey prk=kp.getPrivate();// 保存公鑰FileOutputStream f1=new FileOutputStream("Bpub");ObjectOutputStream b1=new ObjectOutputStream(f1);b1.writeObject(pbk);// 保存私鑰FileOutputStream f2=new FileOutputStream("Asec");ObjectOutputStream b2=new ObjectOutputStream(f2);b2.writeObject(prk);} }

    運行結(jié)果:

    任務(wù)五

    完整性校驗結(jié)對編程:

    1人負責(zé)客戶端,一人負責(zé)服務(wù)器

  • 注意責(zé)任歸宿,要會通過測試證明自己沒有問題
  • 基于Java Socket實現(xiàn)客戶端/服務(wù)器功能,傳輸方式用TCP
  • 客戶端讓用戶輸入中綴表達式,然后把中綴表達式調(diào)用MyBC.java的功能轉(zhuǎn)化為后綴表達式,把后綴表達式用3DES或AES算法加密通過網(wǎng)絡(luò)把密文和明文的MD5値發(fā)送給服務(wù)器
  • 客戶端和服務(wù)器用DH算法進行3DES或AES算法的密鑰交換
  • 服務(wù)器接收到后綴表達式表達式后,進行解密,解密后計算明文的MD5值,和客戶端傳來的MD5進行比較,一致則調(diào)用MyDC.java的功能計算后綴表達式的值,把結(jié)果發(fā)送給客戶端
  • 客戶端顯示服務(wù)器發(fā)送過來的結(jié)果
  • 上傳測試結(jié)果截圖和碼云鏈接
    • Serve
    import java.net.*; import java.io.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; import java.security.interfaces.*; import java.math.*;public class Server {public static void main(String args[]) throws Exception {ServerSocket link = null;Socket socket = null;try {link = new ServerSocket(3);// 創(chuàng)建服務(wù)器套接字//System.out.println("端口號:" + link.getLocalPort());System.out.println("等待客戶連接");socket = link.accept(); // 等待客戶端連接System.out.println("已經(jīng)建立連接");//獲得網(wǎng)絡(luò)輸入流對象的引用BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));//獲得網(wǎng)絡(luò)輸出流對象的引用PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);// 使用服務(wù)器端RSA的私鑰對DES的密鑰進行解密String line = in.readLine();BigInteger cipher = new BigInteger(line);FileInputStream f = new FileInputStream("Skey_RSA_priv.dat");ObjectInputStream b = new ObjectInputStream(f);RSAPrivateKey prk = (RSAPrivateKey) b.readObject();BigInteger d = prk.getPrivateExponent();BigInteger n = prk.getModulus();//mod nBigInteger m = cipher.modPow(d, n);//m=d (mod n)System.out.println("d= " + d);System.out.println("n= " + n);System.out.println("m= " + m);byte[] keykb = m.toByteArray();// 使用DES對密文進行解密String readline = in.readLine();//讀取客戶端傳送來的數(shù)據(jù)FileInputStream f2 = new FileInputStream("keykb1.dat");int num2 = f2.available();byte[] ctext = parseHexStr2Byte(readline);Key k = new SecretKeySpec(keykb,"DESede");Cipher cp = Cipher.getInstance("DESede");cp.init(Cipher.DECRYPT_MODE, k);byte[] ptext = cp.doFinal(ctext);String p = new String(ptext, "UTF8");//編碼轉(zhuǎn)換System.out.println("從客戶端接收到信息為:" + p); //打印解密結(jié)果// 使用Hash函數(shù)檢測明文完整性String aline3 = in.readLine();String x = p;MessageDigest m2 = MessageDigest.getInstance("MD5");//使用MD5算法返回實現(xiàn)指定摘要算法的 MessageDigest對象m2.update(x.getBytes());byte a[] = m2.digest();String result = "";for (int i = 0; i < a.length; i++) {result += Integer.toHexString((0x000000ff & a[i]) | 0xffffff00).substring(6);}System.out.println("MD5:"+result);if (aline3.equals(result)) {System.out.println("匹配成功");}MyDC evaluator = new MyDC();int _result = evaluator.value(p);out.println(_result);out.close();in.close();link.close();} catch (Exception e) {System.out.println(e);}}//二進制轉(zhuǎn)換成十六進制,防止byte[]數(shù)字轉(zhuǎn)換成string類型時造成的數(shù)據(jù)損失public static String parseByte2HexStr(byte buf[]) {StringBuffer sb = new StringBuffer();for (int i = 0; i < buf.length; i++) {String hex = Integer.toHexString(buf[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}sb.append(hex.toUpperCase());//將字符串中的小寫字母轉(zhuǎn)換成大寫字母,然后加在字符串上}return sb.toString();}//將十六進制轉(zhuǎn)換為二進制public static byte[] parseHexStr2Byte(String hexStr) {if (hexStr.length() < 1)return null;byte[] result = new byte[hexStr.length() / 2];for (int i = 0; i < hexStr.length() / 2; i++) {int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1),16);int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),16);result[i] = (byte) (high * 16 + low);}return result;}}

    Client

    import java.net.*; import java.io.*; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; import java.security.spec.*; import javax.crypto.interfaces.*; import java.security.interfaces.*; import java.math.*;public class Client {public static void main(String args[]) throws Exception {try {KeyGenerator kg = KeyGenerator.getInstance("DESede");kg.init(168);SecretKey k = kg.generateKey();byte[] ptext2 = k.getEncoded();Socket socket = new Socket("127.0.0.1", 3);System.out.println("客戶端成功啟動,等待客戶端呼叫");BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));//RSA算法,使用服務(wù)器端的公鑰對DES的密鑰進行加密FileInputStream f3 = new FileInputStream("Skey_RSA_pub.dat");ObjectInputStream b2 = new ObjectInputStream(f3);RSAPublicKey pbk = (RSAPublicKey) b2.readObject();BigInteger e = pbk.getPublicExponent();BigInteger n = pbk.getModulus();BigInteger m = new BigInteger(ptext2);BigInteger c = m.modPow(e, n);String cs = c.toString();out.println(cs); // 通過網(wǎng)絡(luò)將加密后的秘鑰傳送到服務(wù)器System.out.println("請輸入中綴表達式:");//用DES加密明文得到密文String s = stdin.readLine(); // 從鍵盤讀入待發(fā)送的數(shù)據(jù)String postfix = MyBC.toPostfix(s);Cipher cp = Cipher.getInstance("DESede");cp.init(Cipher.ENCRYPT_MODE, k);byte ptext[] = postfix.getBytes("UTF8");byte ctext[] = cp.doFinal(ptext);String str = parseByte2HexStr(ctext);out.println(str); // 通過網(wǎng)絡(luò)將密文傳送到服務(wù)器// 將客戶端明文的Hash值傳送給服務(wù)器String x = postfix;MessageDigest m2 = MessageDigest.getInstance("MD5");m2.update(x.getBytes());byte a[] = m2.digest();String result = "";for (int i = 0; i < a.length; i++) {result += Integer.toHexString((0x000000ff & a[i]) | 0xffffff00).substring(6);}System.out.println("MD5:"+result);out.println(result);//通過網(wǎng)絡(luò)將明文的Hash函數(shù)值傳送到服務(wù)器str = in.readLine();// 從網(wǎng)絡(luò)輸入流讀取結(jié)果System.out.println("從服務(wù)器接收到的結(jié)果為:" + str); // 輸出服務(wù)器返回的結(jié)果} catch (Exception e) {System.out.println(e);//輸出異常} finally {}}//將十六進制轉(zhuǎn)換成二進制public static String parseByte2HexStr(byte buf[]) {StringBuffer sb = new StringBuffer();for (int i = 0; i < buf.length; i++) {String hex = Integer.toHexString(buf[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}sb.append(hex.toUpperCase());}return sb.toString();} }

    運行結(jié)果:

    實驗中遇到的問題

    問題一:輸入表達算式時提示斷開連接

    解決辦法:輸入表達式時一氣呵成,而不能像平常一樣對已輸入的括號內(nèi)的內(nèi)容進行修改

    參考博客

    https://www.cnblogs.com/zxy20175227/p/10923041.html
    http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA

    結(jié)對伙伴及博客鏈接

    20175227

    轉(zhuǎn)載于:https://www.cnblogs.com/thz666/p/10945796.html

    總結(jié)

    以上是生活随笔為你收集整理的20175212童皓桢 实验五 网络编程与安全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    国产精品6999成人免费视频 | 久久99久久99精品中文字幕 | 麻豆视频一区 | a在线观看免费视频 | 99中文视频在线 | 日韩美女黄色片 | 特黄特黄的视频 | 麻豆超碰 | 午夜色大片在线观看 | 四虎在线免费观看视频 | 国产成人久 | 日韩欧美在线国产 | 亚洲欧美在线视频免费 | 免费看三级黄色片 | 7777精品伊人久久久大香线蕉 | 久久精美视频 | 欧美小视频在线观看 | 亚洲欧美怡红院 | 婷婷色 亚洲 | 波多野结衣小视频 | 亚洲欧洲日韩在线观看 | av日韩不卡 | 日日激情| 亚洲国产一区二区精品专区 | 色黄视频免费观看 | 亚洲国产成人精品久久 | 亚洲国产午夜精品 | 亚洲激情av| 97国产人人| 久久综合天天 | 四虎在线免费观看 | 国产福利av在线 | 日韩欧美精品在线观看 | 国产中文字幕免费 | 91av在线播放视频 | 黄色片视频在线观看 | 成人久久精品视频 | 日韩欧美视频在线观看免费 | 99re6热在线精品视频 | 99久久999久久久精玫瑰 | 色综合天天爱 | 久久久久国产精品一区 | 中文字幕文字幕一区二区 | av888av.com| 国产v在线 | 日韩一区二区三区免费电影 | 在线观看岛国片 | 在线亚洲天堂网 | 91精品国产99久久久久久久 | 九色视频网址 | 亚洲人毛片 | 国产在线观看你懂的 | 一区二区日韩av | 国产偷v国产偷∨精品视频 在线草 | 日韩精选在线 | 精品96久久久久久中文字幕无 | 五月婷婷网站 | 亚洲人成人天堂h久久 | 亚洲欧美日韩精品久久久 | 精品国产一区二区三区久久久 | 亚洲jizzjizz日本少妇 | 日韩精品免费在线播放 | 久久久精华网 | 91九色网站 | 日韩视频一 | 色综合久久网 | 91九色在线视频观看 | 玖玖精品视频 | 韩国视频一区二区三区 | 精品一区二区三区在线播放 | 日韩免费一二三区 | 久久久99精品免费观看app | 狠狠狠狠干 | 波多野结衣亚洲一区二区 | 国产日韩精品一区二区在线观看播放 | 亚洲九九九在线观看 | 精品在线二区 | 超碰在线1 | 毛片精品免费在线观看 | 欧美性粗大hdvideo | 亚洲伦理精品 | 国产美女久久久 | 99热国产在线观看 | 国产精品日韩久久久久 | 狠狠干网| 久久在线免费视频 | 日本三级人妇 | 亚洲精品乱码久久久久v最新版 | 亚洲作爱| 精品国产电影 | 色久天 | 亚洲精品在线视频网站 | 国产精品黄色 | 玖玖视频精品 | 干天天| 99久久综合狠狠综合久久 | 五月激情婷婷丁香 | 亚洲成人av电影在线 | 麻豆视频免费入口 | 亚洲自拍av在线 | 日本中文字幕在线 | 欧美精品免费在线观看 | 中文字幕在线国产精品 | 天天操天天操天天操天天 | 在线免费观看黄色大片 | 欧美日韩亚洲一 | 国产露脸91国语对白 | 91男人影院| 毛片网站免费 | 免费网站在线观看成人 | 日批视频在线播放 | 麻豆91在线看 | 国产精品三级视频 | 一区 二区电影免费在线观看 | 天天综合网天天 | 国产偷在线| 久久99久久99精品免视看婷婷 | 天天鲁天天干天天射 | 久久久久久片 | 国产精品美女久久久久久 | 日韩av中文字幕在线 | 国产精品久久电影观看 | 日韩国产精品毛片 | 日韩午夜电影院 | 亚洲成年人在线播放 | 国产综合婷婷 | 亚洲永久国产精品 | 91精品国产网站 | 日韩91av | 日韩色在线观看 | 在线观看国产日韩欧美 | 日韩在线小视频 | 国产精品密入口果冻 | 香蕉久草在线 | 精品国产乱码久久久久久三级人 | 一区二区在线电影 | 精品福利视频在线观看 | 国产免码va在线观看免费 | 亚洲天天看 | 有没有在线观看av | av网址aaa | 亚洲色图色 | 一区二区中文字幕在线 | 狠狠的日 | 国产一区二区三区视频在线 | 女人高潮特级毛片 | 在线国产激情视频 | 日本一区二区免费在线观看 | 日韩国产精品毛片 | av在线播放快速免费阴 | 久久久久免费看 | 精品视频中文字幕 | 精品视频专区 | 福利精品在线 | 国产视频在线一区二区 | 97超级碰碰碰碰久久久久 | 久久久久高清毛片一级 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 天天综合日日夜夜 | 天天射天天色天天干 | 欧美在线一 | 欧美孕交vivoestv另类 | 婷婷在线资源 | av在线播放一区二区三区 | 日韩欧美一级二级 | 国产美女搞久久 | 精品自拍sae8—视频 | 亚洲永久国产精品 | 国产精品一区二 | 日日草夜夜操 | 国产高清在线精品 | 91香蕉国产在线观看软件 | 免费网站黄色 | 精品一区二区三区在线播放 | 九九热视频在线 | 中文字幕国产一区 | 免费三级骚 | 国产精品成人免费 | 中文字幕国产 | 国产免费av一区二区三区 | 成片免费 | 97成人免费 | 国产黄色在线 | 91完整视频 | 激情xxxx| 麻豆精品传媒视频 | 久久久久久久99精品免费观看 | 国产无套精品久久久久久 | 91日本在线播放 | 色黄www小说 | 欧美乱码精品一区 | 久久国产精品区 | 日韩在线视频二区 | 在线观看中文字幕一区二区 | 91三级在线观看 | 天天爽天天摸 | 99久久精品免费看国产一区二区三区 | 日韩一区二区三区不卡 | 丁香六月伊人 | 免费人成网ww44kk44 | 欧洲一区二区三区精品 | 91 中文字幕 | 久久成人一区二区 | 亚洲精品成人在线 | 日本中文字幕高清 | 国产91国语对白在线 | 天天色天天操天天爽 | 精品国产自在精品国产精野外直播 | 日日夜夜网 | 亚洲黄色免费观看 | 国产一区二区三区免费观看视频 | 99 色| 亚洲精品动漫成人3d无尽在线 | 久久综合中文字幕 | 午夜影视一区 | 日本精品一区二区三区在线观看 | 免费精品视频在线观看 | 狠狠干激情 | 国产精品一区一区三区 | 欧美久久久久久久久久久久久 | 欧美日韩在线网站 | 蜜桃久久久 | 69夜色精品国产69乱 | 国产成人av| 中文字幕影片免费在线观看 | 中文字幕在线视频一区二区三区 | 一级黄色片在线免费看 | 日韩高清一 | 五月色综合 | 国产日本在线 | 中文字幕免费看 | 国产成人精品综合久久久久99 | 涩涩资源网 | 国产91精品久久久久久 | 激情开心网站 | 伊人国产在线播放 | 国产精品美女网站 | 国产一区自拍视频 | 五月情婷婷| 国产午夜精品免费一区二区三区视频 | 探花视频在线观看免费 | 国产黄色大全 | 亚洲蜜桃av | 日本在线观看中文字幕无线观看 | 天天天干天天天操 | 日韩精品网址 | 天天鲁天天干天天射 | 日韩有码第一页 | 久久久久免费看 | 亚洲一区网站 | 久久久 精品 | 91九色蝌蚪国产 | 2019中文在线观看 | 久久精品美女视频网站 | 狠日日| www.夜夜夜 | 国产v亚洲v| 久久福利小视频 | 久久精品一区 | 精品久久91 | 欧美亚洲三级 | 欧美性高跟鞋xxxxhd | 久久久久久草 | 中文字幕亚洲欧美日韩 | 天天干天天上 | 久草精品资源 | 中文字幕在线播出 | 在线观看中文字幕视频 | 久久福利剧场 | 国产精品九色 | 欧美在线观看视频 | 97热视频| 久久精品影片 | 日本三级中文字幕在线观看 | www.色五月 | 精品国产乱码久久久久久三级人 | 超碰午夜| 久久精品国产精品亚洲精品 | 国产精品24小时在线观看 | www黄com| 日韩精品久久久久久 | 成人a免费 | 久久av电影| 午夜精品一区二区三区在线视频 | 伊人五月天综合 | 特级毛片网站 | 免费又黄又爽视频 | 91精品久久久久久综合乱菊 | 精品久久精品 | 成人免费xyz网站 | 一区电影 | 久久久综合电影 | 国产人免费人成免费视频 | 成年人在线免费看 | 国产精品久久久久久影院 | 久草视频中文 | 久久字幕精品一区 | 天天操天天射天天 | av免费在线播放 | 中文字幕最新精品 | 五月婷婷在线视频观看 | 久久久午夜电影 | 国产日韩欧美在线观看视频 | 国产精品18久久久久久久网站 | 国产精品国产三级国产不产一地 | 日本在线中文在线 | 日韩av黄| 99视频+国产日韩欧美 | 午夜美女视频 | 成人免费在线视频观看 | 91精品91 | 五月婷婷伊人网 | 91九色国产蝌蚪 | 国产成人一区二区三区久久精品 | 91正在播放| 9在线观看免费高清完整版在线观看明 | 91香蕉视频黄色 | 中日韩在线视频 | 97**国产露脸精品国产 | 久草av在线播放 | 国产中文字幕91 | 91网址在线观看 | 91黄色免费网站 | 欧美国产一区二区 | 天天射综合 | 99精品国产成人一区二区 | 欧美韩日在线 | 天天做天天爱天天综合网 | 亚洲精品xx| 黄色大全免费网站 | 啪啪小视频网站 | 精品久久网 | av在线免费不卡 | 欧美极品在线播放 | 国产一区影院 | 久久av影视| 久色 网| 一区二区三区免费在线观看 | 欧美一区二区三区不卡 | 日韩网站在线观看 | 综合黄色网| 色婷婷视频 | 欧美性粗大hdvideo | 久久经典国产 | 亚洲欧洲中文日韩久久av乱码 | 国产精品视频内 | 亚洲精品1区2区3区 超碰成人网 | 国产精品久久久久久久久久了 | 天堂久色 | www.香蕉| 99免费在线视频观看 | 99国产情侣在线播放 | 99久久精品电影 | 97免费中文视频在线观看 | 久久色亚洲 | 精品亚洲一区二区 | 97成人在线视频 | 中文字幕日韩精品有码视频 | 亚洲另类久久 | 国产一区二区三区四区大秀 | 亚洲视频免费 | 精品国产免费久久 | 一级欧美黄 | 久久久999精品视频 国产美女免费观看 | 夜夜骑日日操 | 亚洲小视频在线 | 在线天堂中文在线资源网 | 国产精品美女久久久久久久久 | 久精品视频免费观看2 | 中文字幕在线视频一区二区 | 美女黄频免费 | 欧美国产91 | 国产精品av免费 | 一区在线免费观看 | 午夜在线免费观看视频 | 99精品久久久久久久久久综合 | 国产91精品高清一区二区三区 | 欧美精品久 | 精品久久久久久久久久久久久久久久久久 | 久草a视频 | av+在线播放在线播放 | 久久久免费视频播放 | 久久久亚洲麻豆日韩精品一区三区 | 久久久久久久久久久精 | 黄色精品一区 | 毛片网在线观看 | 97超碰在线视 | 97超碰在线免费观看 | 日韩午夜小视频 | 91丨九色丨高潮丰满 | 97免费视频在线 | 国产人成精品一区二区三 | 国产精品成人久久久久久久 | 国产一区二区三区免费在线观看 | 四虎成人精品永久免费av九九 | 日韩亚洲欧美中文字幕 | 超碰个人在线 | 久久伊人国产精品 | av在线播放网址 | 91毛片在线观看 | 日日日网 | 97超碰人人 | 激情喷水 | www.夜夜草 | 国产剧情在线一区 | 美女黄视频免费 | 国产手机在线观看 | 丁香视频| 久久激情久久 | 免费在线激情电影 | 日本久久片| 国产精品精品久久久 | 天天草视频 | 国产无吗一区二区三区在线欢 | 国产精品中文久久久久久久 | 九九热在线视频 | 久草香蕉在线 | av看片在线| 亚洲精品国精品久久99热一 | 一区二区精品视频 | 成人免费观看完整版电影 | 在线中文字母电影观看 | 中文字幕日韩电影 | 国产字幕在线看 | 色狠狠综合天天综合综合 | 中文视频在线 | 亚洲禁18久人片 | 又大又硬又黄又爽视频在线观看 | 中文字幕在线影视资源 | 伊人亚洲精品 | 中文字幕激情 | 在线高清 | 女人高潮一级片 | 日韩免费看片 | 久久久免费观看完整版 | 黄色网址中文字幕 | 视频在线国产 | 欧美国产日韩久久 | 国产一级免费av | 国产视频97 | 欧美在线观看视频一区二区 | 欧美日韩一区二区久久 | av网站在线观看免费 | 精品专区一区二区 | 色婷婷国产精品一区在线观看 | 狠狠天天| 91网在线看 | 九九热免费视频在线观看 | 国产成人免费在线观看 | 美女黄网站视频免费 | 国产精品久久久久影院 | 美女黄频在线观看 | www.夜夜爱 | 成人精品视频 | 色狠狠综合天天综合综合 | 亚洲伦理精品 | 97在线观看视频国产 | 欧美午夜性生活 | 国产日韩欧美精品在线观看 | av中文字幕在线免费观看 | 日韩精品一区二区三区外面 | 日日操天天爽 | 天天亚洲 | 9797在线看片亚洲精品 | 久久久受www免费人成 | 四虎国产 | 6080yy午夜一二三区久久 | 国产高清视频免费观看 | 婷婷综合在线 | 久久专区 | 天天色综合三 | 丰满少妇久久久 | 黄色性av| 免费福利小视频 | 成人丝袜 | 97精品国产97久久久久久粉红 | 黄色亚洲在线 | 超碰公开在线 | 成年人黄色免费看 | 天堂av免费看 | 少妇bbbb揉bbbb日本 | 久久九九免费视频 | 国产精品久久久久久久午夜 | av黄色在线播放 | 亚洲 中文 欧美 日韩vr 在线 | 欧美精品乱码久久久久久按摩 | 国产精品久久久久影视 | 五月婷婷在线综合 | 99在线热播 | 免费99视频| 国产免费人成xvideos视频 | 亚洲最大成人免费网站 | 亚洲专区中文字幕 | 日韩 在线a | 91超国产| 一区二区视 | 国产精品视频你懂的 | 免费看一级片 | 日韩视频1 | 久草视频免费在线播放 | 成人久久电影 | 摸bbb搡bbb搡bbbb | 国产亚洲视频在线 | 久久免费播放 | 久久精品国产一区二区三区 | 天天天天色射综合 | 国产一区二区影院 | 国产成人高清av | 国产黄色电影 | 日韩在线免费播放 | 国产精品一区免费在线观看 | 日日干天天射 | 免费av网站在线看 | 在线中文字幕av观看 | 免费国产在线精品 | 久久草av | 人人草网站 | 久久人人爽人人片 | 一区二区三区免费在线观看 | 女人高潮一级片 | 久久久精品国产一区二区三区 | 这里只有精彩视频 | 手机av电影在线 | 亚洲成av人片一区二区梦乃 | 精品国产亚洲一区二区麻豆 | 国产一区二区在线免费播放 | 久久久久国产精品一区二区 | 日韩成人精品 | 亚洲高清色综合 | www.天天成人国产电影 | 狠狠干我 | 五月天视频网站 | 99精品国产免费久久久久久下载 | www九九热 | 一区二区 不卡 | 色综合久久66 | 丁香六月婷婷综合 | 青青看片 | 亚洲国产精品va在线看 | 日韩欧美在线中文字幕 | 久久亚洲福利视频 | 欧美日本中文字幕 | 欧美精品亚洲精品日韩精品 | 在线 日韩 av | 中文国产在线观看 | www.夜夜操.com| 亚洲精品视频免费在线观看 | 91传媒视频在线观看 | 国产片免费在线观看视频 | 精品久久久久久综合 | 日韩av电影免费在线观看 | 久久avav| 亚洲三级av | www天天干 | 国产福利在线 | 天天五月天色 | 亚洲精品h | 色婷婷一区 | 国产亚洲精品美女 | 黄色av成人在线 | 欧美一级免费高清 | 国产精品视频免费 | 欧美 日韩 性 | 成人a级免费视频 | 欧美性高跟鞋xxxxhd | 国产午夜免费视频 | 成人影视免费 | 国产不卡免费 | 成人a级大片 | 日本资源中文字幕在线 | 亚洲天堂在线观看完整版 | 成人欧美在线 | 日韩美女久久 | 亚洲天天综合网 | 国产午夜精品一区二区三区欧美 | 在线视频 国产 日韩 | 久久优| 91看片麻豆| 亚洲精品国产精品国自产观看 | 久草在线这里只有精品 | 最新国产精品视频 | 国产精品麻豆免费版 | 伊人国产在线播放 | 美女网站视频一区 | 久草免费新视频 | 三日本三级少妇三级99 | 97超碰人| 国产精品99久久久久的智能播放 | 日韩精品aaa | 国产91精品看黄网站在线观看动漫 | 日韩色综合 | 麻豆视频免费入口 | 日韩免费一区二区 | 日韩黄色影院 | 国产精品h在线观看 | 亚洲在线视频观看 | 91精品欧美| 久久视频这里有久久精品视频11 | 在线观看黄色 | 五月婷网 | 欧美成人中文字幕 | 欧美大码xxxx | 亚洲区视频在线观看 | 久久久三级视频 | 欧美日韩国产精品一区二区三区 | 黄色大片中国 | 欧美性大战 | 成人av.com| 久久视频国产精品免费视频在线 | 97超碰中文字幕 | 国产视频2 | 国产成人亚洲精品自产在线 | 欧美一区二区三区在线看 | www.色在线| 国产91丝袜在线播放动漫 | 精品视频不卡 | 久久视频网 | 九九久久久久久久久激情 | 六月婷婷久香在线视频 | 96精品在线 | 亚洲精品一区二区网址 | 最新久久久| 久久视精品 | 在线视频日韩精品 | 精品国产免费一区二区三区五区 | 男女拍拍免费视频 | 一级α片免费看 | 人人盈棋牌 | 婷婷色在线播放 | 成人av影视观看 | 狠狠色狠狠色综合日日小说 | 久久久久久国产精品美女 | 亚洲欧洲美洲av | 91精品导航| 久草久草在线 | 免费在线观看中文字幕 | 久久躁日日躁aaaaxxxx | 婷婷久久婷婷 | 国产日韩欧美在线影视 | 免费一级片观看 | 日韩电影一区二区在线观看 | 中文字幕在线播出 | 性色av一区二区三区在线观看 | 久久久久免费观看 | 91麻豆福利| 国产精品久久久久国产a级 激情综合中文娱乐网 | www.色午夜,com| 亚洲精品裸体 | 中文字幕在线观看一区 | 亚洲精品久久久久久久蜜桃 | 久久久久久久久久久久久影院 | 婷色在线 | 永久免费精品视频 | 在线播放国产精品 | 91在线日韩 | 亚洲爽爽网 | 欧美日韩精品免费观看视频 | 久久视频免费看 | 99久在线精品99re8热视频 | 国产日韩欧美在线观看视频 | 国产亚洲精品久久久久久久久久 | 中文字幕在线观看的网站 | 91pony九色丨交换 | 亚洲涩综合 | 又黄又爽又色无遮挡免费 | 久久久国产精品麻豆 | 国产小视频国产精品 | 在线看片一区 | a v在线观看 | av黄色影院| 国产精品白浆 | 色婷婷播放 | 97超碰国产精品女人人人爽 | 丁香六月婷婷开心婷婷网 | 欧美一区二区三区在线 | 开心激情综合网 | 婷婷网五月天 | 免费视频你懂的 | 国产精品99久久久久的智能播放 | 国产不卡免费 | 国产精品69av | 免费在线激情视频 | 国产一级大片在线观看 | 久久综合成人 | 91中文字幕一区 | 日韩中文字幕视频在线 | 77国产精品| 国产一区二区综合 | 天天搞天天 | 色偷偷人人澡久久超碰69 | 高清av不卡 | 国产一区二区在线播放视频 | 午夜精品成人一区二区三区 | 精品久久一二三区 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 亚洲最大av | 中文字幕视频在线播放 | 一区二区三区日韩在线观看 | 天天天色综合 | 欧美永久视频 | 超碰在线观看av.com | 欧美一区,二区 | 国产亚洲成av人片在线观看桃 | 亚洲精品国产精品国自产在线 | 精品久久久久久久久久国产 | 女人18精品一区二区三区 | 中文字幕免费观看 | 日韩久久一区 | 欧美日韩在线精品一区二区 | 91精品国产乱码久久桃 | 午夜久久 | 午夜精品久久久久久久99水蜜桃 | 一区二区三区影院 | 亚洲黄网站 | 国产乱对白刺激视频在线观看女王 | 91av在线免费观看 | 91视频91蝌蚪 | 欧美一级黄色网 | 九九久久久久久久久激情 | 毛片永久免费 | 亚洲精品字幕在线观看 | 天天操天天干天天插 | 18久久久久久 | 97影视 | 婷婷丁香激情五月 | 国产精品久久久久久久久岛 | av7777777| 日韩女同一区二区三区在线观看 | 久久精品专区 | 狠狠色丁香婷婷综合最新地址 | 91免费看黄 | 2021国产视频 | 黄色电影小说 | 久久伊人八月婷婷综合激情 | 欧美一区二区日韩一区二区 | 在线观看韩日电影免费 | 深爱婷婷激情 | 久久亚洲国产精品 | 涩涩在线 | 99色婷婷| 五月婷婷深开心 | 欧美色图亚洲图片 | 99精品国产一区二区三区麻豆 | 国产精品视频 | 亚洲精品乱码久久久一二三 | 成人国产电影在线观看 | 亚洲最大av网 | 91视频91自拍| 国产自产高清不卡 | 日韩有码专区 | 免费在线观看国产黄 | 3d黄动漫免费看 | wwwwwww色 | 亚洲精品三级 | 亚洲丝袜一区二区 | 欧美日韩中文在线 | 在线看片成人 | 亚州欧美视频 | 久久久久久久久久影院 | 久久综合欧美 | 中国一级片在线播放 | 超碰免费97 | 亚州精品成人 | 国产五月婷婷 | 激情综合亚洲精品 | 欧美乱大交 | 一区二区三区四区五区在线 | 日韩欧美在线影院 | 日韩电影在线一区二区 | 在线播放日韩av | 国产在线观看中文字幕 | 国产做爰视频 | 日韩av偷拍 | 亚洲日本欧美在线 | 韩日成人av | 久久96国产精品久久99软件 | 成年人免费观看在线视频 | 国产精品自拍av | 黄色免费观看 | www久久国产| 69国产精品成人在线播放 | 国产日韩欧美综合在线 | 国产午夜精品免费一区二区三区视频 | 日本精品视频在线 | 又黄又爽又色无遮挡免费 | 99色人| 亚洲一二区精品 | 国产成人精品综合久久久久99 | 久久av中文字幕片 | 久久久久国产成人精品亚洲午夜 | 91色综合| 国产一区二区三区免费在线 | 2022久久国产露脸精品国产 | 五月天激情视频在线观看 | 激情综合交 | 国产99久久久国产精品成人免费 | 欧美激情综合五月色丁香 | 日日夜夜天天综合 | 亚洲 综合 专区 | 91探花国产综合在线精品 | 骄小bbw搡bbbb揉bbbb | 一区二区三区在线免费观看 | 2019中文字幕第一页 | 黄色大片免费网站 | 欧美精品黑人性xxxx | av千婊在线免费观看 | 天天天色综合 | 91麻豆精品 | 欧美日韩国产在线观看 | 精品久久久久久久久久久院品网 | 国产91学生粉嫩喷水 | 日韩免费看片 | 中文字幕在线看视频 | 在线成人高清电影 | 欧美日韩成人一区 | 91精品国产成 | 99热播精品 | 天天干夜夜爽 | 亚洲国产网站 | 日韩高清在线不卡 | 91重口视频| 国产高清视频免费观看 | 韩国一区二区三区在线观看 | 27xxoo无遮挡动态视频 | 日韩久久久久久久久久 | 96视频在线 | 99久久精品免费看国产一区二区三区 | 国产成人精品午夜在线播放 | 操天天操 | 成人试看120秒 | 久久久国产一区二区三区四区小说 | 91看片黄色 | 久久国产视频网站 | 最新av网站在线观看 | 久久精品8 | 成年人在线观看免费视频 | 亚洲激精日韩激精欧美精品 | 国产精品午夜免费福利视频 | 精品久久久久一区二区国产 | 日韩一区二区免费视频 | 香蕉影视在线观看 | 国产精品久久久久久久久久了 | 在线中文字幕av观看 | 狠狠干夜夜操天天爽 | av动态图片 | 中文字幕在线观看免费 | 高清一区二区三区av | 日韩欧美69 | 欧美成人日韩 | 天天曰视频 | 欧美日韩中文国产一区发布 | 中文在线最新版天堂 | 日韩影视大全 | 精品一二三四视频 | 国产中文字幕视频 | 日韩免费久久 | 中文字幕一区二区三区四区视频 | 黄色官网在线观看 | 综合激情av| 人人盈棋牌 | 欧洲精品一区二区 | 日韩欧美成 | 欧美激情片在线观看 | 香蕉视频4aa | 一本一本久久a久久精品综合妖精 | 一区二区av | 欧美午夜一区二区福利视频 | 99久国产| 国产99久久久欧美黑人 | 日韩精品一区在线观看 | 99这里只有久久精品视频 | 久草久草久草久草 | 少妇性bbb搡bbb爽爽爽欧美 | 一区二区三区高清在线观看 | 精品久久亚洲 | 亚洲一区网 | 国产系列在线观看 | 五月开心婷婷网 | 亚洲婷婷网| 国产日韩一区在线 | 久久精品xxx | 日韩精品在线播放 | 亚洲一区二区精品在线 | 亚洲二区精品 | 91 在线视频播放 | 在线观看黄色小视频 | 亚洲第五色综合网 | 日日夜夜操av | 开心丁香婷婷深爱五月 | 91成品视频| 91丨九色丨蝌蚪丨对白 | 久久综合九色综合久久久精品综合 | 美女在线免费观看视频 | 国产精品久久久久久久久久久免费 | 国产成人av在线影院 | 五月天伊人网 | 亚洲狠狠操 | 国产剧情一区二区 | 欧美一区二区三区在线播放 | 麻豆一二三精选视频 | av网站播放 | 国产精品va在线观看入 | 一本色道久久精品 | 欧美成人a在线 | 久久婷五月 | 天天天色综合 | 81精品国产乱码久久久久久 | 久久成年人网站 | 九九久久久久久久久激情 | 欧美性色黄大片在线观看 | 久久久久高清毛片一级 | 一本一本久久a久久 | 中文字幕在线视频一区 | 久久黄色网页 | 国产一卡在线 | 夜夜夜夜爽 | 久久久九九 | 6699私人影院 | 日批在线观看 | 97超碰人| 久久精品影视 | 午夜久久电影网 | 中文字幕av在线 | 91社区国产高清 | 亚洲一级片免费观看 | 国产视频在线播放 | 免费三级网| 在线播放 亚洲 | 91在线视频观看 | 亚洲国产中文字幕在线观看 | 丁香九月婷婷综合 | av网在线观看 | 国产丝袜一区二区三区 | 成人av电影在线观看 | 久久9999久久免费精品国产 | 午夜成人免费电影 | 久久电影国产免费久久电影 | 爱爱av网站| 欧美国产高清 | 西西44人体做爰大胆视频 | 欧美精品二区 | 天堂av免费看| 日韩一二三在线 | 一级黄色片在线 | 欧美一区二区在线刺激视频 | 婷婷六月中文字幕 | 美女免费视频一区 | 九九欧美视频 | 国产精品九色 | 天堂av一区二区 | 日韩精品短视频 | 色94色欧美 | 黄色大片日本免费大片 | 亚洲欧洲xxxx| 性色大片在线观看 | 成人免费视频视频在线观看 免费 | 欧美粗又大 | 亚洲精品免费看 | 国产精品美女久久久久久2018 | 99精彩视频在线观看免费 | 日韩av一区在线观看 | 一级免费av | 亚州欧美精品 | se婷婷 | 亚洲一二区视频 | 国产中文 | 国产精品久久艹 | 久久精品在线免费观看 | 99久久精品午夜一区二区小说 | 免费在线中文字幕 | 日韩av中文字幕在线免费观看 | 成人国产精品免费观看 | 国产在线va | 欧美成人一区二区 | 国产精品对白一区二区三区 | 亚洲自拍偷拍色图 | 最近字幕在线观看第一季 | 在线а√天堂中文官网 | 日韩在线视频精品 | 久久综合中文色婷婷 | 成人av资源在线 | 亚洲综合激情 | 麻豆久久久| 欧美日韩精品电影 | 国产精品亚洲人在线观看 | 97看片网| 国产精品九九视频 | 亚洲一级国产 | 日韩视频欧美视频 | 日韩一二三区不卡 | av综合在线观看 | 最近2019好看的中文字幕免费 | 成人高清在线 | 精品超碰 | 99精品免费在线 | 免费网址在线播放 | 六月激情 | 99久久精品日本一区二区免费 |