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

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

?? form1.cs

?? VC++實現的加密解密類
?? CS
?? 第 1 頁 / 共 2 頁
字號:
			this.label8.Size = new System.Drawing.Size(296, 32);
			this.label8.TabIndex = 3;
			this.label8.Text = "DES分組解密=》帶有時間戳明文=》MD5摘要生成";
			// 
			// label7
			// 
			this.label7.Location = new System.Drawing.Point(72, 128);
			this.label7.Name = "label7";
			this.label7.Size = new System.Drawing.Size(296, 24);
			this.label7.TabIndex = 4;
			this.label7.Text = "發送者公鑰得到明文摘要";
			// 
			// label9
			// 
			this.label9.Location = new System.Drawing.Point(344, 112);
			this.label9.Name = "label9";
			this.label9.Size = new System.Drawing.Size(256, 24);
			this.label9.TabIndex = 5;
			this.label9.Text = "摘要對比 =》提取驗證時間戳=》得到明文";
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(640, 438);
			this.Controls.Add(this.CreateXmlKeys);
			this.Controls.Add(this.button2);
			this.Controls.Add(this.button1);
			this.Controls.Add(this.tabControl1);
			this.Controls.Add(this.richbox);
			this.Name = "Form1";
			this.Text = "Form1";
			this.groupBox1.ResumeLayout(false);
			this.tabControl1.ResumeLayout(false);
			this.tabPage1.ResumeLayout(false);
			this.tabPage2.ResumeLayout(false);
			this.groupBox4.ResumeLayout(false);
			this.groupBox3.ResumeLayout(false);
			this.groupBox2.ResumeLayout(false);
			this.tabPage3.ResumeLayout(false);
			this.groupBox5.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// 應用程序的主入口點。
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}
		byte [] fileContents;//=null;//儲存原始的明文數據
        //打開文件
		private void OpenFileBtn_Click(object sender, System.EventArgs e)
		{
			OpenFileDialog open = new OpenFileDialog();
			open.Title = "請打開你要產生摘要的文件:";
			open.Filter = "All File (*.*)|*.*";
			if(open.ShowDialog()==DialogResult.OK)
			{
				FileName.Text = open.FileName ;
				richbox.AppendText("\n你選擇了要進行散列的文件:" + FileName.Text);				
			}
			else
			{
				return ;
			}			
		}  
		
		private void SendFileToDTS_Click(object sender, System.EventArgs e)
		{
			try
			{
				//讀取文件內容到一數組里
				FileStream fs = new FileStream(FileName.Text,FileMode.Open,FileAccess.Read);
				byte [] ifileContent = new byte[(int)fs.Length];
				fs.Read(ifileContent,0,(int)fs.Length);
				fs.Close(); //讀取到數組中去

				fileContents = ifileContent ;
			}
			catch
			{
				richbox.AppendText("\n讀取文件失敗,請仔細查找原因!");
			}
	 		byte [] HashValue = null;
	 		try
	    	{//產生文件散列
				HashValue = ShareClass.HashFile(0,FileName.Text);				
				richbox.AppendText("\n已經產生了文件散列 :\n 散列長度:"+ HashValue.Length.ToString() +"\n散列:\n"+Convert.ToBase64String(HashValue,0,HashValue.Length)/* System.Text.Encoding.Default.GetString(HashValue)*/);
			}
			catch
			{
				richbox.AppendText("\n計算文件散列失敗!");
			}
			//DTS獲取收到文件時間
			byte [] TimeNow = ShareClass.GetTimeNow();
			richbox.AppendText("\n時間數組長度--TimeNow: "+ TimeNow.Length.ToString());
			//把時間加進散列中
			byte[]HashAndTime = ShareClass.CombinBytes(TimeNow,HashValue);
			richbox.AppendText("\n接受到數據時間: " + System.Text.Encoding.Default.GetString(TimeNow) + " \n已經加進到文件摘要中!");
			//簽名簽名數組
			byte [] signHash = ShareClass.Sinature(ShareClass.OpenFile("DTSPrivateKey.txt"),HashAndTime );
			richbox.AppendText("\n已經為文件簽名!\n簽名長度--signHash:" + signHash.Length.ToString());
			//合并成DTS時間戳格式數組
			byte [] combinData = ShareClass.CombinBytes(signHash,HashAndTime);
			try
			{
                fileContents = ShareClass.CombinBytes(combinData,fileContents);  //加進時間戳
				richbox.AppendText("\n現已把時間戳添加到文件中去!");
			}
			catch
			{richbox.AppendText("\n添加時間戳失敗!");}		
		}

		//錯誤的原因:不正確的數組長度。
		private void StartStepsBtn_Click(object sender, System.EventArgs e)
		{
			//產生隨機的密碼和向量
			byte[]Key =ShareClass.RandomKey(0);
			byte[]IV  =ShareClass.RandomIV(0);
			richbox.AppendText("\n產生了隨機密碼:KEY 和向量:IV!\nKey and IV Size: " + Key.Length.ToString() +" "+IV.Length.ToString());
			//對隨機密碼和向量進行簽名和加密
			byte [] KeyAndIV = ShareClass.CombinBytes(IV,Key);//這里把Key和IV合并一起
			richbox.AppendText("\nKeyAdnIV Size : "+KeyAndIV.Length.ToString() );
            //把整個密碼參數簽名
			byte [] Signature = ShareClass.Sinature(ShareClass.OpenFile("A_PrivateKey.txt"),KeyAndIV);
			richbox.AppendText("\n簽名整個密碼參數-KeyAndIV : Signature Size: "+ Signature.Length.ToString());
			//合并密碼參數和簽名
			byte [] KeyAndSignature = ShareClass.CombinBytes(Signature,KeyAndIV);
			//使用B的公鑰加密密碼和密碼簽名數組
			byte [] RsaEncryptData = ShareClass.RsaEncrypt(ShareClass.OpenFile("B_PublicKey.txt"),KeyAndSignature);//Signature); //對已經簽名的數據進行非對稱加密處理
	        richbox.AppendText("\n對已經簽名的密碼數據進行非對稱加密處理--信封處理 \n數字信封的長度: RsaEncryptData : " + RsaEncryptData.Length.ToString());
		
			//	ShareClass.WriteFile(FileName.Text+".enc",RsaEncryptData); //寫進文件:數字信封
			//對稱加密已經加進時間戳的明文
		//	ShareClass.EncryptFile(0,FileName.Text,FileName.Text+".enc",Key,IV); //把對文件加密后的的數據寫進文件
			//int choice,string filename,byte[]Key,byte[]IV
			//對含時間戳的明文進行DES分組加密
			byte [] EncryptionDate = ShareClass.EncryptFile(0,fileContents,Key,IV);//加密加時間戳的明文
			richbox.AppendText("\n加密已經加進時間戳的明文,使用隨機產生的密碼和向量:KEY、IV ");
			richbox.AppendText("密文長度:EncryptionDate: "+EncryptionDate.Length.ToString());

			//對含時間戳的明文進行摘要
			byte [] HashFile = ShareClass.HashData(0,fileContents);//HashFile(0,FileName.Text); //計算摘要 //////////////////////////////////////////////
			richbox.AppendText("\n計算已經加進時間戳的明文摘要,摘要長度:HashFile :" + HashFile.Length.ToString());
			//為摘要簽名
			byte [] SignatureData = ShareClass.Sinature(ShareClass.OpenFile("A_PrivateKey.txt"),HashFile);
				richbox.AppendText("\n對該摘要進行簽名,簽名長度:SignatureData:" +SignatureData.Length.ToString());
			byte [] CombinData =ShareClass.CombinBytes(SignatureData,HashFile); //把摘要和簽名合并一起
			richbox.AppendText("\n開始合并這三部分......\n長度:CombinData: "+ CombinData.Length.ToString());

			//把加密結果寫進文件//要注意寫入的順序!
			FileStream FS = new FileStream(FileName.Text+".enc",FileMode.Create,FileAccess.Write);
			FS.Write( RsaEncryptData,0,RsaEncryptData.Length );
			FS.Write( EncryptionDate,0,EncryptionDate.Length );//B_PrivateKey.txt
			FS.Write( CombinData,0,CombinData.Length );
			FS.Flush();
			FS.Close();
			string file = FileName.Text+".enc";
			richbox.AppendText("\n合并結束!\n請查看合并結果文件:\n" +file + "\n三部分的長度分別為:\n" +  "RsaEncryptData: " +  RsaEncryptData.Length.ToString() +"\nEncryptionDate :" +EncryptionDate.Length.ToString() +"\nCombinData :" + CombinData.Length.ToString() );
			int length = RsaEncryptData.Length+EncryptionDate.Length+CombinData.Length;//計算整個密文長度
			richbox.AppendText("\n總的長度為: " + length.ToString());
		}

		private static bool state = true ;
		private static RSACryptoServiceProvider icrypt ;//全局函數
		private void button1_Click(object sender, System.EventArgs e)
		{
			if(state)
			{
				ShareClass.CreateXmlKey("PrivateKey.txt",icrypt.ToXmlString(true));
				state = false ;
				button1.Text = "產生公鑰";
			}
			else
			{
				ShareClass.CreateXmlKey("PublicKey.txt",icrypt.ToXmlString(false));
				state = true ;
				button1.Text = "產生私鑰";
				button1.Enabled = false ;
			}
		}

		private void button2_Click(object sender, System.EventArgs e)
		{
			icrypt = new RSACryptoServiceProvider();
			button2.Enabled = false ;
		}
		//產生成對鑰匙
		private static int i = 0 ;
		private void CreateXmlKeys_Click(object sender, System.EventArgs e)
		{
			i ++ ;
			icrypt = new RSACryptoServiceProvider();
			ShareClass.CreateXmlKey("PublicKey" + i.ToString()+".txt",icrypt.ToXmlString(true));
			ShareClass.CreateXmlKey( "PrivateKey"+ i.ToString()+".txt",icrypt.ToXmlString(false));
			MessageBox.Show("產生第" + i.ToString() + "對私鑰和公鑰!" );			
		}

        //把整個加密信息分解為三部分 //分別讀取到三不數組里面
		private static byte [] Encrypt_One ,Encrypt_Two,Encrypt_Three ;
		private void DepartBytes_Click(object sender, System.EventArgs e)
		{		
			/* 這地方有兩種數據讀取方式:方式一,從文件中分離需要部分;方式二,把文件內容讀取到字節數組中,然后分離數組;我們使用方式一,個人認為提供效率!*/
			//打開文件,直接從文件中讀取,出現錯誤啊
		 	string fileName = OpenFile("請打開要解密的文件:");
			//第一種讀取方式:直接從文件中讀取
			FileStream fs = new FileStream(fileName,FileMode.Open,FileAccess.Read);
			//第二種讀取方式:直接讀取到一個數組里面,然后對數組進行分解
	//	 	byte []fileContent = new byte[fs.Length];
	//	    fs.Read(fileContent,0,(int)fs.Length);
	 	 	richbox.AppendText("\n開始讀取密文文件......");

			//讀取密鑰密文
			Encrypt_One = new byte[1152];
			//方式一			
		    fs.Read(Encrypt_One,0,1152); 
			richbox.AppendText("\n讀取加密文件第一部分.....");
			//方式二
		  //  Buffer.BlockCopy(fileContent,0,Encrypt_One,0,1152);
			//利用接收者的私鑰解密
			byte [] RsaDecryptionData = ShareClass.RsaDecrypt(ShareClass.OpenFile("B_PrivateKey.txt"),Encrypt_One); 
			richbox.AppendText("\n為分解數據解密");
			//從解密出來的數組RsaDecryptionData分解出KeyIV(密鑰和向量)和簽名
			byte [] KeyIV = new byte[16];
			byte [] Signature = new byte[128];
			
			Buffer.BlockCopy( RsaDecryptionData,0,KeyIV,0,16);
			Buffer.BlockCopy( RsaDecryptionData,16,Signature,0,128 );
			richbox.AppendText("\n分解出會話密鑰和密鑰簽名");
			//驗證簽名數據的正確與否
			byte [] Key,IV;
			if( ShareClass.VerifySignature( ShareClass.OpenFile( "A_PublicKey.txt" ), KeyIV, Signature ) ) //使用共鑰驗證簽名
			{//簽名正確,分解密碼和向量
				Key = new byte[8];
				IV  = new byte[8]; 
				Buffer.BlockCopy(KeyIV,0,Key,0,8);
				Buffer.BlockCopy(KeyIV,8,IV,0,8);

				richbox.AppendText("\n成功得到會話密鑰參數:Key和IV!");
			}
			else
			{
				richbox.AppendText("\n密鑰簽名不正確!");
				return  ;
			}
			//讀取加密的明文
		//	fs.Position = 0 ;
			int length = (int)fs.Length-1296;// 1152-144 ; //密文的長度AllEncryptedData
		 	Encrypt_Two = new byte[ length ];
			//方式一
			richbox.AppendText("\n讀取密文部分......");
			fs.Position = 1152 ;
		 	fs.Read(Encrypt_Two,0,length);
			
			//方式二
		//	Buffer.BlockCopy(fileContent,1152,Encrypt_Two,0,length);
			//解密明文數據,還原成帶時間戳的明文
			byte [] DecryptionPlainText = ShareClass.DecryptData(0,Key,IV,Encrypt_Two);
			richbox.AppendText( "\n使用會話密鑰解密密文。" );
			//MD5摘要生成
            byte [] HashValue = ShareClass.HashData(0,DecryptionPlainText);//還需要和下面的摘要對比//加時間戳明文
			richbox.AppendText( "\n為解密數據進行摘要。" );
			//讀取摘要數字
			Encrypt_Three = new byte[144];	
			//方式一
			richbox.AppendText( "\n讀取摘要數字部分......" );
			fs.Position = fs.Length-144 ;
		 	fs.Read( Encrypt_Three,0,144 );
			//方式二
		//	Buffer.BlockCopy(fileContent,fileContent.Length-144,Encrypt_Three,0,144);
			//驗證已經簽名過的加時間戳的明文的摘要//驗證摘要的簽名
			byte [] PlainTextHash = new byte[16];
			byte [] HashSignatrue = new byte[128];
			richbox.AppendText( "\n分解摘要數字部分含時間戳明文的摘要和簽名" );
			Buffer.BlockCopy(Encrypt_Three,0,PlainTextHash,0,16);
			Buffer.BlockCopy(Encrypt_Three,16,HashSignatrue,0,128);
		    richbox.AppendText("開始對含時間戳明文摘要的簽名進行驗證......");
			if( ShareClass.VerifySignature( ShareClass.OpenFile("A_PublicKey.txt"),PlainTextHash,HashSignatrue ) )//驗證明文摘要
			{
				richbox.AppendText("\n驗證加進時間戳明文的摘要的簽名正確!");

				//要進行摘要對比
				richbox.AppendText( "\n開始比較兩個含時間戳明文摘要是否相等......" );
				if(ShareClass.CompareHash( HashValue,PlainTextHash )==true)
				{//兩散列比較相等的話//DecryptionPlainText					
					richbox.AppendText("\n比較兩個加時間戳明文的摘要成功!");
					byte [] TimeStampPart = new byte[167];
					richbox.AppendText( "\n提取密文解密后的時間戳部分......" );
					Buffer.BlockCopy(DecryptionPlainText,DecryptionPlainText.Length-167,TimeStampPart,0,167);
					//提取與驗證時間戳
					richbox.AppendText( "\n提取時間戳部分摘要和簽名部分......" );
					byte [] HashAndTime    = new byte[39];
					byte [] DTSignature = new byte[128]; 
					Buffer.BlockCopy(TimeStampPart,0,HashAndTime,0,39);
					Buffer.BlockCopy(TimeStampPart,39,DTSignature,0,128);
					richbox.AppendText( "\n驗證時間戳簽名......" );
					if( ShareClass.VerifySignature( ShareClass.OpenFile("DTSPublicKey.txt"),HashAndTime,DTSignature ) )
					{//驗證正確
						richbox.AppendText("\n驗證DTS 簽名成功!");
						byte [] Time = new byte[23];
						Buffer.BlockCopy(HashAndTime,16,Time,0,23);
						System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
						richbox.AppendText("\nDTS 簽名時間(接收文件時間):" + enc.GetString( Time,0,Time.Length ) );
						//我們選擇把純明文寫進文件
						byte [] PurePlainText = new byte[DecryptionPlainText.Length-167];//純明文的長度
						Buffer.BlockCopy(DecryptionPlainText,0,PurePlainText,0,DecryptionPlainText.Length-167);
						//判斷文件的名字
						string[] namePart = fileName.Split('.');
						string  fileRealName = namePart[0] + "." + namePart[1] ;//這樣寫有缺陷,還需要判斷 namePart[2]是不是最后一個字符串						
						ShareClass.WriteFile(fileRealName,PurePlainText);
						richbox.AppendText( "\n明文提取成功!\n路徑為:" + fileRealName );
					}
					else
					{
						richbox.AppendText("\n驗證DTS 簽名失敗!");
					}
				}
				else
				{
				       richbox.AppendText("\n比較兩個加時間戳明文的摘要失敗!");
				}
			} 
			fs.Close();//關閉文件讀取
		}
		private string OpenFile(string title)
		{
			OpenFileDialog open = new OpenFileDialog();
			open.Title =  title ;//比如類似 "請打開你要產生摘要的文件:";
			open.Filter = "All File (*.*)|*.*";
			string FilePath = null ;
			if(open.ShowDialog()==DialogResult.OK)
			{	
				FilePath = open.FileName ;
			}
			return FilePath ;
		}	
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频电影在线| 日韩亚洲欧美一区| 亚洲靠逼com| 在线观看亚洲a| 婷婷成人综合网| 精品黑人一区二区三区久久| 国产在线一区二区| 国产精品成人免费在线| 欧美自拍丝袜亚洲| 婷婷中文字幕一区三区| 欧美成人video| 成人午夜激情影院| 亚洲另类春色国产| 欧美美女bb生活片| 国产福利91精品一区二区三区| 中文字幕av免费专区久久| 99re热这里只有精品视频| 亚洲一卡二卡三卡四卡五卡| 欧美成人官网二区| 99精品视频在线观看| 午夜精品在线视频一区| 久久亚洲一区二区三区四区| 91一区二区在线| 午夜精品免费在线| 欧美韩国日本综合| 欧美日韩综合不卡| 国产成人在线观看免费网站| 亚洲在线视频网站| 国产欧美一区二区精品秋霞影院| 日本黄色一区二区| 极品少妇xxxx精品少妇偷拍| 国产一区二区三区免费播放| 中文字幕一区二区三区四区不卡 | 97久久人人超碰| 日韩在线一二三区| 中文字幕精品一区二区精品绿巨人| 国产精品成人免费在线| 91精品国产综合久久精品图片| 丁香六月久久综合狠狠色| 香蕉乱码成人久久天堂爱免费| 久久精品男人天堂av| 欧美四级电影在线观看| 成人avav影音| 久久国产成人午夜av影院| 一区二区三区四区五区视频在线观看 | 日韩黄色小视频| 欧美国产精品专区| 日韩亚洲欧美综合| 欧美性做爰猛烈叫床潮| 成人av网址在线| 韩国一区二区视频| 日韩成人精品在线观看| 亚洲一区二区三区影院| 国产精品久久久久久久久晋中 | 777久久久精品| 99精品黄色片免费大全| 国产精品一区二区免费不卡| 日韩国产欧美在线观看| 亚洲在线成人精品| 国产精品99久久久久久宅男| 青青草成人在线观看| 亚洲第一福利一区| 一区二区三区在线观看欧美| 最新日韩av在线| 国产精品免费视频观看| 中文字幕免费不卡| 国产区在线观看成人精品| 欧美xxxxxxxxx| 欧美岛国在线观看| 亚洲欧洲综合另类在线| 欧美日韩精品系列| 日韩二区三区在线观看| 日韩欧美亚洲另类制服综合在线 | av电影在线观看一区| 国产精品国产三级国产专播品爱网| 亚洲自拍另类综合| 国产剧情一区二区| 精品久久久久久最新网址| 亚洲成人动漫在线观看| 91小视频在线观看| 欧美tickling挠脚心丨vk| 亚洲二区视频在线| 欧美精品少妇一区二区三区| 亚洲无线码一区二区三区| 91婷婷韩国欧美一区二区| 亚洲免费观看高清完整| 色婷婷综合久久久| 亚洲444eee在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲一区二区视频| 日韩一区二区电影| 男男成人高潮片免费网站| 欧美一级高清片| 国产成人精品免费看| 综合自拍亚洲综合图不卡区| 91啪亚洲精品| 日韩高清不卡一区二区三区| 欧美mv日韩mv国产网站app| 国产乱码字幕精品高清av| 国产精品免费av| 欧美性videosxxxxx| 美腿丝袜亚洲综合| 国产亚洲成av人在线观看导航| 91香蕉视频黄| 人禽交欧美网站| 国产精品网曝门| 欧美吞精做爰啪啪高潮| 国产一区二区精品久久99| 国产精品久久久久久亚洲伦| 欧洲国内综合视频| 激情久久久久久久久久久久久久久久| 国产三级一区二区| 欧美精品1区2区| 成人av一区二区三区| 亚洲第一搞黄网站| 欧美激情在线一区二区三区| 欧洲精品一区二区| 大胆欧美人体老妇| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品午夜在线| 欧美成人一级视频| 欧美午夜一区二区| 成人激情综合网站| 秋霞午夜av一区二区三区 | 青娱乐精品视频| 中文字幕欧美激情一区| 欧美老女人在线| 色婷婷香蕉在线一区二区| 国产福利91精品一区二区三区| 亚洲成人自拍网| 中文子幕无线码一区tr| 久久众筹精品私拍模特| 欧美一区二区三区免费观看视频| 在线一区二区三区| 99精品视频中文字幕| 国产成人综合亚洲91猫咪| 日韩精品一级中文字幕精品视频免费观看 | 91麻豆精品国产91久久久久久| 成人午夜视频福利| 国产精品影音先锋| 久久成人久久爱| 婷婷综合另类小说色区| 一区二区三区四区在线免费观看| 欧美激情在线一区二区| 国产亚洲美州欧州综合国| 日韩亚洲欧美一区二区三区| 欧美日韩视频不卡| 欧美吻胸吃奶大尺度电影| 欧美艳星brazzers| 欧美亚洲免费在线一区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产99久久久国产精品潘金网站| 久久福利资源站| 国产一区在线视频| 国产精品一区二区久激情瑜伽| 六月丁香婷婷色狠狠久久| 麻豆精品在线看| 久色婷婷小香蕉久久| 捆绑调教美女网站视频一区| 精油按摩中文字幕久久| 国精产品一区一区三区mba桃花 | 不卡的电影网站| 一本大道综合伊人精品热热| 色婷婷综合久久久中文字幕| 欧美性感一类影片在线播放| 欧美日韩国产区一| 56国语精品自产拍在线观看| 91精品国产全国免费观看 | 国产sm精品调教视频网站| 成人福利视频网站| 色999日韩国产欧美一区二区| 欧美亚洲另类激情小说| 日韩午夜激情av| 国产欧美日韩麻豆91| 日韩美女精品在线| 婷婷一区二区三区| 国产一区二区主播在线| 成人国产一区二区三区精品| 91成人免费电影| 欧美成人vr18sexvr| 国产精品大尺度| 婷婷国产在线综合| 岛国精品在线观看| 欧美日韩国产bt| 欧美激情在线看| 午夜精品久久久久久| 国产黄色成人av| 欧美日本一区二区在线观看| 久久色在线观看| 亚洲高清中文字幕| 成人免费视频一区二区| 欧美日本韩国一区二区三区视频| 久久午夜免费电影| 亚洲影视在线播放| 国产91精品久久久久久久网曝门| 欧美色视频在线| 国产精品久久久久一区二区三区| 日韩精品久久久久久| 91丨porny丨在线| 国产欧美一区二区三区在线看蜜臀 |