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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rsawang1.cpp

?? 一個(gè)編譯好的RSA加密程序,非常好懂,不過有些小問題,希望大家一起努力修改
?? CPP
?? 第 1 頁 / 共 4 頁
字號(hào):
//

#include "stdafx.h"
//#include "RSATest1.h"
#include "Rsawang1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRsaA

IMPLEMENT_DYNCREATE(CRsaA, CCmdTarget)

CRsaA::CRsaA()
{
	InitInt();
		
}

CRsaA::~CRsaA()
{
}


BEGIN_MESSAGE_MAP(CRsaA, CCmdTarget)
	//{{AFX_MSG_MAP(CRsaA)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
		//ON_MESSAGE(WM_COMPUTING,OnComputing)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRsaA message handlers

/*----------------------------------------------------------------------------
功能:進(jìn)行相關(guān)大數(shù)的初始化
入口參數(shù):無
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::InitInt(void)
{
	SetZero(ZEROVALUE);						//對(duì)大數(shù)變量zerovalue清零
	memset(mZEROVALUE,0,MLENGTH);
	SetZero(ONEVALUE);                      //對(duì)大數(shù)變量ONEVALUE進(jìn)行清零
	ONEVALUE[DATALENGTH-1]=1;				//ONEVALUE的最后一位為1
	SetZero(TWOVALUE);						//將TOWVALUE進(jìn)行清零
    TWOVALUE[DATALENGTH-1]=2;				//TOWVALUE的最后一位為2
	SetZero(EIGHTVALUE);					//對(duì)EIGHTVALUE進(jìn)行清零
    EIGHTVALUE[DATALENGTH-1]=8;				//最后一位為8
	return ;
}

/*---------------------------------------------------------------------------
功能:將一個(gè)大數(shù)A轉(zhuǎn)換為相應(yīng)的字符串形式
入口參數(shù):大數(shù)A
返回值:相對(duì)應(yīng)的字符串
----------------------------------------------------------------------------*/
CString CRsaA::PrtInt(byteint A)
{
	register i=0;
	int m,n;
	while(i<DATALENGTH && A[i]==0)          //跳過大數(shù)開始的空白0
		i++;
	if(i<DATALENGTH)
		m=DATALENGTH-i;                     //求出有用的大數(shù)長度
	n=0;
											//注意到這里的i已經(jīng)是數(shù)組中第一個(gè)非零元素的對(duì)應(yīng)位置,
	CString str="";							//因此下面的循環(huán)就是從數(shù)組中
											//存放的數(shù)的最高位開始輸出。
	while(i<DATALENGTH)
	{
		str += (A[i++]+'0');
	}
	return str;
}

/*---------------------------------------------------------------------------
功能:大數(shù)A與大數(shù)B相乘,結(jié)果放入C中 A×B->C
入口參數(shù):被乘數(shù)A和乘數(shù)B,結(jié)果C
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::Multiply(byteint A,byteint B,byteint C)
{
	register i,j,w;
	int X,Y,Z;
	int Avalid=0;								//Avalid=validating bits of A
	int Bvalid=0;								//Avalid=validating bits of B
	while (A[Avalid]==0 && Avalid<DATALENGTH)
		Avalid++;								//計(jì)算Avalid
	while (B[Bvalid]==0 && Bvalid<DATALENGTH)
		Bvalid++;								//計(jì)算Bvalid

	SetZero(C);									//將C清零初始化
	
	for(i=DATALENGTH-1;i>=Avalid;i--)
		for(j=DATALENGTH-1;j>=Bvalid;j--)       //逐位進(jìn)行相乘運(yùn)算
		{
			X=A[i]*B[j];        
			Y=X/10;
			Z=X-10*Y;
			w=i+j-(DATALENGTH-1);
			C[w]=C[w]+Z;
			C[w-1]=C[w-1]+(C[w]/10)+Y;
			C[w]=C[w]-(C[w]/10)*10;
		}
	return;
}

/*---------------------------------------------------------------------------
功能:將指定的自定義的大數(shù)進(jìn)行0初始化
入口參數(shù):大數(shù)A名
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::SetZero(byteint A)  
{
	memset(A,0,DATALENGTH);                    //調(diào)用系統(tǒng)函數(shù)進(jìn)行初始化
}

/*---------------------------------------------------------------------------
功能:將大數(shù)B拷貝到大數(shù)A中
入口參數(shù):大數(shù)A,大數(shù)B
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::IntCpy(byteint A,byteint B)
{
	memcpy(A,B,DATALENGTH);                    //調(diào)用系統(tǒng)函數(shù)完成拷貝
}

/*---------------------------------------------------------------------------
功能:A+B的結(jié)果送C
入口參數(shù):大數(shù)A,B,C
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::Plus(byteint A,byteint B,byteint C)
{
	register i;//,w;
	int X,Y,Z,m,n,valid;
	m=IntValid(A);                 //計(jì)算A的長度         
	n=IntValid(B);                 //計(jì)算B的長度
	valid=(m>n)?m+1:n+1;           //計(jì)算時(shí)要以最長的數(shù)為準(zhǔn)
	SetZero(C);                    //將C清零
	for(i=DATALENGTH-1;i>=DATALENGTH-valid;i--)
	{
		X=A[i]+B[i];               //按位相加
		Y=X/10;
		Z=X-10*Y;

		C[i]=C[i]+Z;               //計(jì)算進(jìn)位
		C[i-1]=C[i-1]+Y;
	}
}

/*---------------------------------------------------------------------------
功能:大數(shù)SA減去大數(shù)SB,結(jié)果放入SC
入口參數(shù):被減數(shù)SA,減數(shù)SB,差SC
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::Substract(byteint SA,byteint SB,byteint SC)
{
	byteint buf;
	register i,j;
	int X;
	IntCpy(buf,SA);                  //將SA的內(nèi)容拷貝到buf中
	SetZero(SC);                 //SC清零初始化
	for(i=DATALENGTH-1;i>=0;i--)	
	{
		if(buf[i]<SB[i])             //如果最低位不夠減
		{
			buf[i]=buf[i]+10;        //向高位借1
			if(buf[i-1]>0)           //如果高位夠減,直接減1
				(buf[i-1])--;    
			else                     //否則一直找到夠減的位
			{
				j=i-1;
				while(buf[j]==0)     //j不會(huì)出現(xiàn)越界,是因?yàn)楸WC了最高位不為0
					buf[j--]=9;
				buf[j]=buf[j]-1;
			}
		}
		X=buf[i]-SB[i];              //將各位減的結(jié)果存入SC中
		SC[i]=X;
	}
}

/*---------------------------------------------------------------------------
功能:比較兩個(gè)大數(shù)A和B的大小
入口參數(shù):大數(shù)A和大數(shù)B
返回值:A>B:return 1 ; A=B:return 0 ; A<B:return -1
----------------------------------------------------------------------------*/
int CRsaA::IntCmp(byteint A,byteint B)
{
	int stat;
	stat=memcmp(A,B,DATALENGTH);    //系統(tǒng)函數(shù)
	if(stat==0)
		return 0;
	if(stat>0)
		return 1;
	return -1;
}

/*---------------------------------------------------------------------------
功能:得到一個(gè)大數(shù)的非零位數(shù)
入口參數(shù):大數(shù)validtemp
返回值:大數(shù)中非零的位數(shù)
----------------------------------------------------------------------------*/
int CRsaA::IntValid(byteint validtemp)
{
	register i=0;
	while(validtemp[i]==0 && i<DATALENGTH)
		i++;
	return DATALENGTH-i;
}

/*---------------------------------------------------------------------------
功能:計(jì)算大數(shù)A÷B的結(jié)果,余數(shù)放在C中,商在D中
入口參數(shù):被除數(shù)A,除數(shù)B,余數(shù)C,商D
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::SetMode(byteint A,byteint B,byteint C,byteint D)
{
	register i,j,k;
	int valid_1,valid_2,valid,sbits,cmpval;
	byteint buf1,buf2;
    
	SetZero(buf1);  SetZero(buf2);
	SetZero(D);                       //將大數(shù)D進(jìn)行清零初始化
    IntCpy(C,A);                      //將被除數(shù)A拷貝到C中
	valid_2=IntValid(B);              //計(jì)算B(除數(shù))的位數(shù),
	while((cmpval=IntCmp(C,B))>0)     //變除法為減法,每減一次就判斷是否有C>B,如果滿足就繼續(xù)減。
	{
		valid_1=IntValid(C);          //計(jì)算C(被除數(shù))的位數(shù),因?yàn)樗奈粩?shù)在循環(huán)過程中是變化的
		                              //做減法后(C-B)仍然存放在C中
		valid=valid_1-valid_2;        //C的長度與B的長度的差(該值最小為0)
		if(valid>0)                   //如果被除數(shù)比除數(shù)的位數(shù)多
		{
			i=DATALENGTH-valid_1;     //被除數(shù)前導(dǎo)零的個(gè)數(shù)
			j=DATALENGTH-valid_2;     //除數(shù)前導(dǎo)零的個(gè)數(shù),作下標(biāo)指示器
			sbits=0;
			for(k=j;k<DATALENGTH;k++)
			{
				if(C[i]>B[j])         //從C和B的最高位開始依次比較對(duì)應(yīng)位的大小,判斷是否夠減
					break;
				if(C[i]<B[j])
				{
					sbits=1;          //如果不夠減,那么C就退一位,再做減法
					break;
				}
				i++;j++;              //當(dāng)C和B的最高位相等時(shí),就比較二者的次高位
			}
			valid=valid-sbits;
			SetZero(buf1);            //buf1清零
			for(i=valid;i<DATALENGTH;i++)
			{
				j=i-valid;
				buf1[j]=B[i];         //buf1中存放的是B左移若干位之后得到的值
				                      //如果夠減,則B左移后最高位與C的最高位對(duì)齊,
				                      //否則與C的次高位對(duì)齊
			}
		}
		else
			IntCpy(buf1,B);           //當(dāng)C和B的位數(shù)相同時(shí),就直接把B放入緩沖區(qū)buf1中

		D[DATALENGTH-1-valid]++;      //這里保存的是在某一位上所做的減法的次數(shù),每做一次就加1
		Substract(C,buf1,buf2);       //不論C的長度與B的長度的差是否大于0,都要做減法,直到C<=B
		IntCpy(C,buf2);
	}
	if(cmpval==0)                     //兩個(gè)數(shù)相等
	{
		SetZero(C);                   //余數(shù)為0
		D[DATALENGTH-1]++;            //商為1
	}
}

/*---------------------------------------------------------------------------
功能:隨機(jī)地產(chǎn)生一個(gè)大數(shù)奇數(shù),長度為num,最高位不是0,存放在RandomA中
入口參數(shù):大數(shù)A,長度num
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::IntRandom(byteint RandomA,int num)
{
	int i;
	SetZero(RandomA);                     //將RandomA清零
	
	while(!(RandomA[DATALENGTH-1]%2))     //判斷條件保證RandomA的最后一位數(shù)是奇數(shù)
		RandomA[DATALENGTH-1]=rand()%10;  //如果最后一位是偶數(shù),則從新產(chǎn)生最后一位
    while(!(RandomA[DATALENGTH-num]))     //判斷條件保證RandomA最高位不是0
		RandomA[DATALENGTH-num]=rand()%10;//如果最高位是0,則從新產(chǎn)生最高位

	i=DATALENGTH-2;
	while(i>=DATALENGTH-num+1)            //循環(huán)產(chǎn)生從次低位開始到次高位的所有位上的數(shù)
		RandomA[i--]=rand()%10;
}

/*---------------------------------------------------------------------------
功能:將質(zhì)數(shù)類型B拷貝到A中,實(shí)現(xiàn)類型轉(zhuǎn)換
入口參數(shù):大數(shù)A,質(zhì)數(shù)類型B
返回值:無
----------------------------------------------------------------------------*/
//功能:將數(shù)B拷貝到大數(shù)A,實(shí)現(xiàn)類型轉(zhuǎn)換
void CRsaA::LoadInt(byteint A,mtype B)
{
	register i,j;
	SetZero(A);                  //A進(jìn)行清零初始化
	i=DATALENGTH-1;
	j=MLENGTH-1;
	while(j>0)                   //循環(huán)拷貝各位數(shù)字
	{
		A[i--]=B[j--];
	}
}

/*---------------------------------------------------------------------------
功能:該函數(shù)用來從集合[1,b-1]中產(chǎn)生若干個(gè)用于檢測的數(shù),存放在Model[]中
入口參數(shù):無
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::Mdata()
{
	register i,j;                     //Randomly choose a set of 100 numbers in [1,b-1]
	int k=MLENGTH-2;
	
	memset(Model,0,TESTNUM*MLENGTH);  //這個(gè)函數(shù)在這里用來將整個(gè)數(shù)組清零,進(jìn)行初始化
	srand( (unsigned)time( NULL ) );  //進(jìn)行隨機(jī)函數(shù)的初始化
	for(i=0;i<TESTNUM;i++)            //TESTNUM為需要產(chǎn)生的個(gè)數(shù)
	{
		for(j=MLENGTH-1;j>=k;j--)
		{
			Model[i][j]=rand()%10;    //注意這里與測試素?cái)?shù)的程序中的區(qū)別,
		}
		if((memcmp(Model[i],mZEROVALUE,MLENGTH))==0)  
			i--;
		k--;                          //保證所產(chǎn)生的數(shù)不為0
		if (k<0) k=MLENGTH-2;
	}
	
}

/*---------------------------------------------------------------------------
功能:該函數(shù)用來將十進(jìn)制的大整數(shù)轉(zhuǎn)換成二進(jìn)制的數(shù)
入口參數(shù):需轉(zhuǎn)換的大數(shù)B,二進(jìn)制結(jié)果flag[400]
返回值:無
----------------------------------------------------------------------------*/
void CRsaA::TransBi(byteint B,signed char flag[400])
{
	byteint buf;
	byteint result;
	byteint temp;
	register i;
	SetZero(buf);  SetZero(result);  SetZero(temp);
	memset(flag,0,400);                     //將flag數(shù)組清零

	i=399;
	IntCpy(buf,B);                          //將B拷貝到buf中
	while(IntCmp(buf,ZEROVALUE)==1)         //如果buf內(nèi)容為0
	{
		SetMode(buf,TWOVALUE,temp,result);  //將buf進(jìn)行大數(shù)的模2運(yùn)算,商在result中,余數(shù)temp
		flag[i]=temp[DATALENGTH-1];         
		IntCpy(buf,result);                 //對(duì)商繼續(xù)進(jìn)行模2運(yùn)算
		i--;
	}
	flag[i]=-1;                             //設(shè)置一個(gè)標(biāo)志位,表明二進(jìn)制數(shù)的開始
}

/*---------------------------------------------------------------------------
功能:該函數(shù)用來進(jìn)行模冪算法,A為底數(shù),模為c,二進(jìn)制的指數(shù)B存放在數(shù)組flag中
入口參數(shù):底數(shù)A,模C,結(jié)果D,二進(jìn)制質(zhì)數(shù)flag[400]
返回值:A^B=1(mod C),返回1;A^B=p-1(mod C),返回2;否則返回0
----------------------------------------------------------------------------*/
int CRsaA::PowerMode(byteint A,byteint C,byteint D,signed char flag[400])
{
	byteint buf;
	byteint result;
	byteint temp,P;
	register i;
	SetZero(D);   SetZero(buf); SetZero(result); SetZero(temp); SetZero(P);  //將D清零

	IntCpy(temp,A);                       //將A的值拷貝到temp中
	if(flag[399]==1)                      //最低位為1,拷貝本身,flag[i]只有1或者0兩種情況
		IntCpy(result,A);
	else								  //最低位為0,則冪為1
		IntCpy(result,ONEVALUE);
	i=398;
	while(flag[i]!=-1)                    //判斷是否已經(jīng)到達(dá)指數(shù)盡頭
	{
		Multiply(temp,temp,buf);          //temp*temp->buf 
		SetMode(buf,C,temp,P);            //buf%c余數(shù)->temp,商->p
		if(flag[i]!=0)                    //如果該位不是0,則將其和前一步低一位的結(jié)果進(jìn)行乘法運(yùn)算
		{                                 //否則,將其作為該位的模,在高一位的運(yùn)算中,只要進(jìn)行一次
			Multiply(temp,result,buf);    //平方運(yùn)算,就可以得到高一位的模
			SetMode(buf,C,result,P);
		}
		i--;
	}                                     //result中存放的是最終結(jié)果
	IntCpy(buf,C);
	IntCpy(D,result);
	Substract(buf,ONEVALUE,temp);
	if(IntCmp(result,ONEVALUE)==0)        //p mod n=1,判斷是否有A^B=1(mod C)
		return 1;
	if(IntCmp(result,temp)==0)            //p mod n=-1[p-1=-1(mod p)],判斷是否有A^B=p-1(mod C)
		return 2;
	return 0;
}

/*---------------------------------------------------------------------------
功能:產(chǎn)生一個(gè)質(zhì)數(shù)
入口參數(shù):大數(shù)Prm
返回值:產(chǎn)生成功,返回0
----------------------------------------------------------------------------*/
int CRsaA::Prime(byteint Prm)
{
	int i,k,ok;
	signed char flag[400];
	byteint A,B,D,buf1,buf2;
	SetZero(A); SetZero(B); SetZero(D); SetZero(buf1); SetZero(buf2);
	
	while(1)                                 //一直循環(huán)直到找到一個(gè)素?cái)?shù)為止
	{
		int pass=0;
		srand( (unsigned)time( NULL ) );     //初始化srand
		IntRandom(B,MLENGTH);                //隨機(jī)產(chǎn)生一個(gè)大數(shù)B  try b if prime,B是一個(gè)奇數(shù)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看日本不卡| 91在线观看地址| 亚洲综合一区二区三区| 日韩女优电影在线观看| 在线视频欧美区| 国产盗摄一区二区三区| 五月综合激情网| 亚洲色图20p| 国产亚洲欧美激情| 欧美一级欧美一级在线播放| 97精品国产露脸对白| 国产一区视频导航| 青青草国产精品亚洲专区无| 亚洲乱码国产乱码精品精可以看 | 国产成人在线视频网站| 亚洲va国产天堂va久久en| 亚洲欧美综合在线精品| 精品成a人在线观看| 56国语精品自产拍在线观看| 91激情五月电影| a亚洲天堂av| 大白屁股一区二区视频| 久久99精品久久只有精品| 日韩二区三区四区| 亚洲成人av一区二区| 亚洲精品国产a久久久久久| 中文字幕va一区二区三区| 久久久无码精品亚洲日韩按摩| 欧美一级欧美三级在线观看| 欧美色偷偷大香| 欧美性生活一区| 色婷婷激情综合| 色中色一区二区| 色婷婷av一区二区三区之一色屋| 成人黄色a**站在线观看| 粉嫩av一区二区三区| 国产盗摄精品一区二区三区在线 | 久久综合久久综合亚洲| 日韩午夜在线观看| 日韩一区和二区| 日韩欧美自拍偷拍| 欧美一级片免费看| 精品国产一区二区亚洲人成毛片| 日韩欧美一区二区久久婷婷| 欧美一区三区二区| 欧美一级久久久| 日韩欧美一级精品久久| 精品国产伦一区二区三区观看方式 | 欧美一区二区三区电影| 欧美高清精品3d| 日韩午夜中文字幕| 久久久久久久久蜜桃| 国产精品日日摸夜夜摸av| 欧美激情在线看| 亚洲男人天堂av| 午夜精品免费在线观看| 免费在线观看一区| 国产一区二区三区视频在线播放| 国产主播一区二区| a亚洲天堂av| 欧美日韩国产三级| 欧美精品一区二区三区高清aⅴ | 欧美美女激情18p| 精品久久久三级丝袜| 欧美激情一区二区三区在线| 成人欧美一区二区三区视频网页| 亚洲一区二区在线观看视频 | 欧美日韩国产三级| 亚洲精品一区二区三区香蕉| 久久久久久综合| 亚洲视频一区二区在线| 亚洲成人av中文| 国产精品资源在线观看| 91蜜桃免费观看视频| 欧美一区二区三区在线看| 国产日产欧美一区| 亚洲一区二区三区四区不卡| 麻豆精品久久久| av福利精品导航| 欧美一区二区久久久| 亚洲国产精品v| 日韩电影在线观看一区| 成人精品视频一区二区三区尤物| 欧美色图天堂网| 久久久久久毛片| 亚洲第一狼人社区| 丁香啪啪综合成人亚洲小说| 欧美丝袜自拍制服另类| 久久精品日产第一区二区三区高清版| 18涩涩午夜精品.www| 日本午夜精品一区二区三区电影| 国产91精品一区二区麻豆亚洲| 欧美日韩一区久久| 中文一区二区在线观看| 美女一区二区三区| 在线亚洲一区二区| 日本一区二区综合亚洲| 美女视频黄 久久| 在线精品国精品国产尤物884a| 久久色在线观看| 日韩成人一区二区| 91久久线看在观草草青青| 国产欧美一区二区精品性色超碰 | 亚洲超碰97人人做人人爱| 国产a精品视频| 日韩一区二区高清| 亚洲一区成人在线| 99精品欧美一区二区蜜桃免费| 久久婷婷成人综合色| 免费观看91视频大全| 欧美在线色视频| 中文字幕一区二| 粉嫩蜜臀av国产精品网站| 日韩视频免费观看高清在线视频| 一区二区三区久久久| 99精品欧美一区二区蜜桃免费| 久久日一线二线三线suv| 青青国产91久久久久久| 欧美最猛黑人xxxxx猛交| 亚洲欧美一区二区在线观看| 成人一级视频在线观看| 久久久久久亚洲综合| 久久99国产精品免费网站| 欧美精选一区二区| 午夜精品福利一区二区蜜股av| 色婷婷av一区二区三区软件 | 亚洲视频一区二区免费在线观看| 国产成人在线网站| 国产色产综合产在线视频| 国产在线一区观看| 久久一夜天堂av一区二区三区| 久久国产精品第一页| 日韩欧美高清一区| 久久精品99久久久| 久久一日本道色综合| 国产一区二区调教| 久久蜜桃香蕉精品一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 日韩精品一区二区三区在线| 蜜臀av一区二区三区| 欧美成人vr18sexvr| 精彩视频一区二区三区| 久久综合九色综合欧美亚洲| 国产一区二区视频在线播放| 国产欧美视频一区二区| 粗大黑人巨茎大战欧美成人| 中文字幕日本乱码精品影院| 97久久超碰国产精品| 亚洲一区在线免费观看| 欧美人动与zoxxxx乱| 另类小说一区二区三区| 精品对白一区国产伦| 成人深夜在线观看| 亚洲人成在线播放网站岛国 | 91极品美女在线| 午夜视黄欧洲亚洲| 精品国产乱码久久久久久夜甘婷婷 | 国产精品视频免费| 93久久精品日日躁夜夜躁欧美| 亚洲一区在线播放| 日韩免费高清av| av一区二区三区四区| 亚洲国产日韩a在线播放| 91精品国产日韩91久久久久久| 国产精品一线二线三线精华| 国产精品久久久久久久第一福利 | 91蜜桃在线免费视频| 亚洲一区免费在线观看| 日韩美女视频在线| 成人av网在线| 亚洲成人精品在线观看| 欧美成人一区二区三区片免费| 国产99精品国产| 性做久久久久久| 精品国产成人系列| 91免费小视频| 久久国产人妖系列| 亚洲视频精选在线| 日韩视频免费直播| 99v久久综合狠狠综合久久| 日韩专区中文字幕一区二区| 久久久久久久久99精品| 欧美这里有精品| 国产乱人伦偷精品视频不卡| 亚洲自拍偷拍综合| 国产色一区二区| 欧美一区二区在线免费观看| 从欧美一区二区三区| 三级在线观看一区二区| 国产精品无人区| 综合精品久久久| 日韩精品中文字幕在线不卡尤物| av成人老司机| 国产一区二区女| 日韩成人dvd| 亚洲狠狠丁香婷婷综合久久久| 26uuu亚洲综合色| 欧美疯狂做受xxxx富婆| 91网站在线播放| 国产成人精品亚洲777人妖|