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

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

?? aesdlg.cpp

?? 應(yīng)用編碼與計算機密碼學(xué)program 《應(yīng)用編碼與計算機密碼學(xué)》程序 單鑰密碼算法中的AES算法
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// AESDlg.cpp : implementation file
///////////////////////////////////////////////////////////////////////////////
//  程序?qū)崿F(xiàn):鄧韶勇
///////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "AES.h"
#include "AESDlg.h"
#include "DlgEndBox.h"
#include "DlgVersion.h"
#include "DlgWait.h"
#include <io.h>

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	void OnStopTimer();
	void OnStartTimer();
	CAboutDlg();

	int m_nTimer;

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	virtual void OnOK();
	virtual BOOL OnInitDialog();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)	
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

void CAboutDlg::OnOK() 
{
	// TODO: Add extra validation here
	OnStopTimer();
	//
	CDialog::OnOK();
}

BOOL CAboutDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	OnStartTimer();
	// TODO: Add extra initialization here	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAboutDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	OnOK();
	//
	CDialog::OnTimer(nIDEvent);
}

void CAboutDlg::OnStartTimer()
{
	m_nTimer = SetTimer(1, TIME_SHOWPIC, 0);
}

void CAboutDlg::OnStopTimer()
{
	KillTimer(m_nTimer);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
	ON_WM_SHOWWINDOW()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAESDlg dialog

CAESDlg::CAESDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAESDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAESDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CAESDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAESDlg)
	DDX_Control(pDX, IDC_PROGRESS1, m_progress);
	DDX_Control(pDX, IDC_EDIT8, m_key);
	DDX_Control(pDX, IDC_EDIT7, m_time);
	DDX_Control(pDX, IDC_EDIT6, m_rshow);
	DDX_Control(pDX, IDC_EDIT5, m_sshow);
	DDX_Control(pDX, IDC_EDIT4, m_rtext);
	DDX_Control(pDX, IDC_EDIT3, m_stext);
	DDX_Control(pDX, IDC_EDIT2, m_rfile);
	DDX_Control(pDX, IDC_EDIT1, m_sfile);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAESDlg, CDialog)
	//{{AFX_MSG_MAP(CAESDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON9, OnInit)
	ON_BN_CLICKED(IDC_BUTTON1, OnSBrowse)
	ON_BN_CLICKED(IDC_BUTTON2, OnRBrowse)
	ON_BN_CLICKED(IDC_BUTTON3, OnSOutput)
	ON_BN_CLICKED(IDC_BUTTON4, OnROutput)
	ON_BN_CLICKED(IDC_BUTTON5, OnEncrypt)
	ON_BN_CLICKED(IDC_BUTTON6, OnDecrypt)
	ON_BN_CLICKED(IDC_BUTTON7, OnSShowText)
	ON_BN_CLICKED(IDC_BUTTON8, OnRShowText)
	ON_BN_CLICKED(IDC_BUTTON10, OnSClear)
	ON_BN_CLICKED(IDC_BUTTON11, OnStop)
	ON_BN_CLICKED(IDC_BUTTON12, OnSetkey128)
	ON_BN_CLICKED(IDC_BUTTON13, OnSetkey192)
	ON_BN_CLICKED(IDC_BUTTON14, OnSetkey256)
	ON_EN_KILLFOCUS(IDC_EDIT3, OnKillfocusEdit3)
	ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit3)
	ON_BN_CLICKED(IDC_BUTTON15, OnRClear)
	ON_BN_CLICKED(IDC_BUTTON16, OnShowVersion)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAESDlg message handlers

BOOL CAESDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	OnInit();
	OnSysCommand(IDM_ABOUTBOX, NULL);	
	//
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CAESDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();		
	}	
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CAESDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CAESDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}
//=============================================================================
//AES關(guān)鍵函數(shù)
//=============================================================================
namespace
{
//變量定義
u1byte  pow_tab[256];
u1byte  log_tab[256];
u1byte  sbx_tab[256];
u1byte  isb_tab[256];
u4byte  rco_tab[ 10];
u4byte  ft_tab[4][256];
u4byte  it_tab[4][256];
u4byte  fl_tab[4][256];
u4byte  il_tab[4][256];
u4byte  tab_gen = 0;

//表達(dá)式定義
#define ff_mult(a,b)    (a && b ? pow_tab[(log_tab[a] + log_tab[b]) % 255] : 0)
#define f_rn(bo, bi, n, k)                          \
    bo[n] =  ft_tab[0][byte(bi[n],0)] ^             \
             ft_tab[1][byte(bi[(n + 1) & 3],1)] ^   \
             ft_tab[2][byte(bi[(n + 2) & 3],2)] ^   \
             ft_tab[3][byte(bi[(n + 3) & 3],3)] ^ *(k + n)
#define i_rn(bo, bi, n, k)                          \
    bo[n] =  it_tab[0][byte(bi[n],0)] ^             \
             it_tab[1][byte(bi[(n + 3) & 3],1)] ^   \
             it_tab[2][byte(bi[(n + 2) & 3],2)] ^   \
             it_tab[3][byte(bi[(n + 1) & 3],3)] ^ *(k + n)
#define ls_box(x)                \
    ( fl_tab[0][byte(x, 0)] ^    \
      fl_tab[1][byte(x, 1)] ^    \
      fl_tab[2][byte(x, 2)] ^    \
      fl_tab[3][byte(x, 3)] )
#define f_rl(bo, bi, n, k)                          \
    bo[n] =  fl_tab[0][byte(bi[n],0)] ^             \
             fl_tab[1][byte(bi[(n + 1) & 3],1)] ^   \
             fl_tab[2][byte(bi[(n + 2) & 3],2)] ^   \
             fl_tab[3][byte(bi[(n + 3) & 3],3)] ^ *(k + n)
#define i_rl(bo, bi, n, k)                          \
    bo[n] =  il_tab[0][byte(bi[n],0)] ^             \
             il_tab[1][byte(bi[(n + 3) & 3],1)] ^   \
             il_tab[2][byte(bi[(n + 2) & 3],2)] ^   \
             il_tab[3][byte(bi[(n + 1) & 3],3)] ^ *(k + n)
//函數(shù)定義
void gen_tabs(void)
{   
	u4byte  i, t;
    u1byte  p, q;   
	//
    for(i = 0,p = 1; i < 256; ++i)
    {
        pow_tab[i] = (u1byte)p; log_tab[p] = (u1byte)i;
        p = p ^ (p << 1) ^ (p & 0x80 ? 0x01b : 0);
    }
    log_tab[1] = 0; p = 1;
    for(i = 0; i < 10; ++i)
    {
        rco_tab[i] = p; 
        p = (p << 1) ^ (p & 0x80 ? 0x1b : 0);
    }
    for(i = 0; i < 256; ++i)
    {   
        p = (i ? pow_tab[255 - log_tab[i]] : 0); q = p; 
        q = (q >> 7) | (q << 1); p ^= q; 
        q = (q >> 7) | (q << 1); p ^= q; 
        q = (q >> 7) | (q << 1); p ^= q; 
        q = (q >> 7) | (q << 1); p ^= q ^ 0x63; 
        sbx_tab[i] = p; isb_tab[p] = (u1byte)i;
    }
    for(i = 0; i < 256; ++i)
    {
        p = sbx_tab[i];         
        t = p; fl_tab[0][i] = t;
        fl_tab[1][i] = rotl(t,  8);
        fl_tab[2][i] = rotl(t, 16);
        fl_tab[3][i] = rotl(t, 24);
        t = ((u4byte)ff_mult(2, p)) |
            ((u4byte)p <<  8) |
            ((u4byte)p << 16) |
            ((u4byte)ff_mult(3, p) << 24);        
        ft_tab[0][i] = t;
        ft_tab[1][i] = rotl(t,  8);
        ft_tab[2][i] = rotl(t, 16);
        ft_tab[3][i] = rotl(t, 24);
        p = isb_tab[i];         
        t = p; il_tab[0][i] = t; 
        il_tab[1][i] = rotl(t,  8); 
        il_tab[2][i] = rotl(t, 16); 
        il_tab[3][i] = rotl(t, 24);
        t = ((u4byte)ff_mult(14, p)) |
            ((u4byte)ff_mult( 9, p) <<  8) |
            ((u4byte)ff_mult(13, p) << 16) |
            ((u4byte)ff_mult(11, p) << 24);        
        it_tab[0][i] = t; 
        it_tab[1][i] = rotl(t,  8); 
        it_tab[2][i] = rotl(t, 16); 
        it_tab[3][i] = rotl(t, 24); 
    }
    tab_gen = 1;
}

#define star_x(x) (((x) & 0x7f7f7f7f) << 1) ^ ((((x) & 0x80808080) >> 7) * 0x1b)
#define imix_col(y,x)       \
    u   = star_x(x);        \
    v   = star_x(u);        \
    w   = star_x(v);        \
    t   = w ^ (x);          \
   (y)  = u ^ v ^ w;        \
   (y) ^= rotr(u ^ t,  8) ^ \
          rotr(v ^ t, 16) ^ \
          rotr(t,24)

}// end of namespace

//表達(dá)式定義
#define loop4(i)                                    \
{   t = ls_box(rotr(t,  8)) ^ rco_tab[i];           \
    t ^= e_key[4 * i];     e_key[4 * i + 4] = t;    \
    t ^= e_key[4 * i + 1]; e_key[4 * i + 5] = t;    \
    t ^= e_key[4 * i + 2]; e_key[4 * i + 6] = t;    \
    t ^= e_key[4 * i + 3]; e_key[4 * i + 7] = t;    \
}
#define loop6(i)                                    \
{   t = ls_box(rotr(t,  8)) ^ rco_tab[i];           \
    t ^= e_key[6 * i];     e_key[6 * i + 6] = t;    \
    t ^= e_key[6 * i + 1]; e_key[6 * i + 7] = t;    \
    t ^= e_key[6 * i + 2]; e_key[6 * i + 8] = t;    \
    t ^= e_key[6 * i + 3]; e_key[6 * i + 9] = t;    \
    t ^= e_key[6 * i + 4]; e_key[6 * i + 10] = t;   \
    t ^= e_key[6 * i + 5]; e_key[6 * i + 11] = t;   \
}
#define loop8(i)                                    \
{   t = ls_box(rotr(t,  8)) ^ rco_tab[i];           \
    t ^= e_key[8 * i];     e_key[8 * i + 8] = t;    \
    t ^= e_key[8 * i + 1]; e_key[8 * i + 9] = t;    \
    t ^= e_key[8 * i + 2]; e_key[8 * i + 10] = t;   \
    t ^= e_key[8 * i + 3]; e_key[8 * i + 11] = t;   \
    t  = e_key[8 * i + 4] ^ ls_box(t);              \
    e_key[8 * i + 12] = t;                          \
    t ^= e_key[8 * i + 5]; e_key[8 * i + 13] = t;   \
    t ^= e_key[8 * i + 6]; e_key[8 * i + 14] = t;   \
    t ^= e_key[8 * i + 7]; e_key[8 * i + 15] = t;   \
}

//函數(shù)定義
void CAESDlg::set_key(const u1byte in_key[], const u4byte key_len)
{   
	u4byte  i, t, u, v, w;
	//
    if(!tab_gen)
        gen_tabs();
    k_len = (key_len + 31) / 32;
    e_key[0] = u4byte_in(in_key     ); 
	e_key[1] = u4byte_in(in_key +  4);
    e_key[2] = u4byte_in(in_key +  8); 
	e_key[3] = u4byte_in(in_key + 12);
    switch(k_len)
    {
        case 4: t = e_key[3];
                for(i = 0; i < 10; ++i) 
                    loop4(i);
                break;
        case 6: e_key[4] = u4byte_in(in_key + 16); t = e_key[5] = u4byte_in(in_key + 20);
                for(i = 0; i < 8; ++i) 
                    loop6(i);
                break;
        case 8: e_key[4] = u4byte_in(in_key + 16); e_key[5] = u4byte_in(in_key + 20);
                e_key[6] = u4byte_in(in_key + 24); t = e_key[7] = u4byte_in(in_key + 28);
                for(i = 0; i < 7; ++i) 
                    loop8(i);
                break;
    }
    d_key[0] = e_key[0]; d_key[1] = e_key[1];
    d_key[2] = e_key[2]; d_key[3] = e_key[3];
    for(i = 4; i < 4 * k_len + 24; ++i)
    {
        imix_col(d_key[i], e_key[i]);
    }
    return;
}

//表達(dá)式定義
#define f_nround(bo, bi, k) \
    f_rn(bo, bi, 0, k);     \
    f_rn(bo, bi, 1, k);     \
    f_rn(bo, bi, 2, k);     \
    f_rn(bo, bi, 3, k);     \
    k += 4
#define f_lround(bo, bi, k) \
    f_rl(bo, bi, 0, k);     \
    f_rl(bo, bi, 1, k);     \
    f_rl(bo, bi, 2, k);     \
    f_rl(bo, bi, 3, k)

//函數(shù)定義
void CAESDlg::encrypt(const u1byte in_blk[16], u1byte out_blk[16])
{   
	u4byte  b0[4], b1[4], *kp;
	//
    b0[0] = u4byte_in(in_blk    ) ^ e_key[0]; b0[1] = u4byte_in(in_blk +  4) ^ e_key[1];
    b0[2] = u4byte_in(in_blk + 8) ^ e_key[2]; b0[3] = u4byte_in(in_blk + 12) ^ e_key[3];
    kp = e_key + 4;
    if(k_len > 6)
    {
        f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    }
    if(k_len > 4)
    {
        f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    }
    f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    f_nround(b1, b0, kp); f_nround(b0, b1, kp);
    f_nround(b1, b0, kp); f_lround(b0, b1, kp);
    u4byte_out(out_blk,      b0[0]); u4byte_out(out_blk +  4, b0[1]);
    u4byte_out(out_blk +  8, b0[2]); u4byte_out(out_blk + 12, b0[3]);
}

//表達(dá)式定義
#define i_nround(bo, bi, k) \
    i_rn(bo, bi, 0, k);     \
    i_rn(bo, bi, 1, k);     \
    i_rn(bo, bi, 2, k);     \
    i_rn(bo, bi, 3, k);     \
    k -= 4
#define i_lround(bo, bi, k) \
    i_rl(bo, bi, 0, k);     \
    i_rl(bo, bi, 1, k);     \
    i_rl(bo, bi, 2, k);     \
    i_rl(bo, bi, 3, k)

//函數(shù)定義
void CAESDlg::decrypt(const u1byte in_blk[16], u1byte out_blk[16])
{   
	u4byte  b0[4], b1[4], *kp;
	//
    b0[0] = u4byte_in(in_blk     ) ^ e_key[4 * k_len + 24]; 
	b0[1] = u4byte_in(in_blk +  4) ^ e_key[4 * k_len + 25];
    b0[2] = u4byte_in(in_blk +  8) ^ e_key[4 * k_len + 26]; 
	b0[3] = u4byte_in(in_blk + 12) ^ e_key[4 * k_len + 27];
    kp = d_key + 4 * (k_len + 5);
    if(k_len > 6)
    {
        i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    }
    if(k_len > 4)
    {
        i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    }
    i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    i_nround(b1, b0, kp); i_nround(b0, b1, kp);
    i_nround(b1, b0, kp); i_lround(b0, b1, kp);
    u4byte_out(out_blk,     b0[0]); u4byte_out(out_blk +  4, b0[1]);
    u4byte_out(out_blk + 8, b0[2]); u4byte_out(out_blk + 12, b0[3]);
}
//=============================================================================
/*
x==0	清除全部
x==1	保留sfile和stext,清除其他
x==2	保留rfile和rtext,清除其他
*/
void CAESDlg::ClearAll(int x)
{
	if (x!=1)
	{
		m_sfile.SetWindowText("");
		m_sfile.UpdateWindow();
		m_stext.SetWindowText("");
		m_stext.UpdateWindow();
	}
	if (x!=2)
	{
		m_rfile.SetWindowText("");
		m_rfile.UpdateWindow();	
		m_rtext.SetWindowText("");
		m_rtext.UpdateWindow();
	}
	m_sshow.SetWindowText("");
	m_sshow.UpdateWindow();
	m_rshow.SetWindowText("");
	m_rshow.UpdateWindow();
	m_time.SetWindowText("");		
	m_time.UpdateWindow();
	m_progress.SetRange32(0, 100);
	m_progress.SetPos(0);	
}

void CAESDlg::OnInit() 
{
	// TODO: Add your control notification handler code here
	int i;
	sflag	=	0;
	rflag	=	0;
	editflag	=	0;
	showflag	=	1;
	//
	for (i=0; i<KEY_MAX; i++)
	{
		key128[i]	=	rand()%2;	
		key192[i]	=	rand()%2;	
		key256[i]	=	rand()%2;
	}
	key128[KEY_MAX]	=	0;
	key192[KEY_MAX]	=	0;
	key256[KEY_MAX]	=	0;
	//
	ClearAll(0);
	//	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频在线免费| 成人午夜电影久久影院| 欧美酷刑日本凌虐凌虐| 亚洲综合视频在线观看| 欧美视频一区二区三区四区| 亚洲一区二区视频在线| 欧美电影一区二区三区| 日韩精品免费视频人成| 欧美一区二区免费观在线| 免费成人性网站| 日韩你懂的在线播放| 国产乱妇无码大片在线观看| 欧美国产一区视频在线观看| 成人性色生活片免费看爆迷你毛片| 国产精品久久久久久福利一牛影视| 欧美激情一区在线| 北条麻妃国产九九精品视频| 国产精品二三区| 欧美在线观看一区| 久久精品国产一区二区三区免费看| 国产91精品欧美| 亚洲欧美日韩久久| 在线不卡中文字幕| 免费在线成人网| 中文字幕+乱码+中文字幕一区| 全国精品久久少妇| 久久免费国产精品 | 91精品国产综合久久久蜜臀粉嫩| 久久一区二区三区四区| 99国产精品99久久久久久| 亚洲一区二区三区四区在线观看 | 欧洲精品一区二区| 日本欧美一区二区| 国产精品久久久久久久第一福利 | 久久国产夜色精品鲁鲁99| 国产午夜精品久久久久久免费视| 日韩精品电影在线观看| 久久久久久久久久久99999| www.欧美色图| 麻豆高清免费国产一区| 最近中文字幕一区二区三区| 欧美一级片在线看| 色偷偷久久人人79超碰人人澡| 久久久久成人黄色影片| 欧美三级电影精品| 国产成人h网站| 午夜精品福利一区二区三区av| 国产一区三区三区| 亚洲一区二区在线免费看| 久久久精品黄色| 69久久99精品久久久久婷婷| 91婷婷韩国欧美一区二区| 国产在线精品一区二区三区不卡| 精品理论电影在线| 色8久久精品久久久久久蜜| 麻豆免费看一区二区三区| 亚洲乱码精品一二三四区日韩在线| 国产一区二区三区电影在线观看| 日韩精品一区二区三区四区视频| 日本亚洲欧美天堂免费| 亚洲婷婷在线视频| 精品国产91洋老外米糕| 日本高清免费不卡视频| 大尺度一区二区| 九色|91porny| 日韩av电影一区| 亚洲成人精品一区| 亚洲精品久久久蜜桃| 国产精品色哟哟| 久久久亚洲精华液精华液精华液 | 精品久久人人做人人爰| 欧美久久久久久蜜桃| 欧美日韩免费一区二区三区视频| 一区在线观看视频| 中文字幕第一区| 国产亚洲制服色| 久久免费看少妇高潮| xvideos.蜜桃一区二区| 日韩免费观看2025年上映的电影| 麻豆国产精品777777在线| 日韩av网站免费在线| 日韩电影在线观看一区| 日本在线不卡视频一二三区| 亚洲a一区二区| 婷婷综合五月天| 免费观看在线色综合| 天天综合网 天天综合色| 亚瑟在线精品视频| 午夜精品福利在线| 麻豆精品蜜桃视频网站| 精品一区二区在线免费观看| 国产精品一区不卡| 99久久精品国产精品久久| www.99精品| 91极品美女在线| 欧美情侣在线播放| 欧美大片国产精品| 久久精品一区二区| 亚洲色图第一区| 亚洲国产aⅴ天堂久久| 日本在线不卡一区| 国产一区二区在线观看免费| 成人免费视频网站在线观看| eeuss鲁片一区二区三区在线观看| 亚洲aⅴ怡春院| 狠狠色丁香婷综合久久| 成人午夜电影小说| 欧美性大战久久| 亚洲精品在线免费观看视频| 亚洲视频一区在线观看| 亚洲高清在线视频| 国产麻豆视频精品| av网站免费线看精品| 91福利精品视频| 久久综合999| 亚洲高清在线视频| 国产盗摄一区二区| 欧美三区免费完整视频在线观看| 成人av动漫在线| 欧美日韩在线直播| 久久九九久久九九| 午夜一区二区三区视频| 国产成人久久精品77777最新版本| 麻豆久久一区二区| 色婷婷一区二区| www激情久久| 欧美mv日韩mv| 国产性做久久久久久| 天天色 色综合| 国产精品一区二区久久不卡 | 欧美一区二区三区免费| 337p粉嫩大胆色噜噜噜噜亚洲| 久久精品国产免费看久久精品| 久久久蜜臀国产一区二区| 最新日韩av在线| 肉肉av福利一精品导航| 国产成人一区二区精品非洲| 色悠悠久久综合| 久久嫩草精品久久久精品一| 亚洲在线免费播放| 久久精品国产99国产精品| 91蜜桃传媒精品久久久一区二区| 日本成人在线视频网站| www.色综合.com| 日韩免费高清av| 亚洲精品成人在线| 国产麻豆视频精品| 精品日产卡一卡二卡麻豆| 欧美激情一区二区三区蜜桃视频| 精品少妇一区二区| 一区二区三区欧美日| 国内精品不卡在线| 精品国产乱码久久久久久蜜臀| 欧美日韩国产天堂| 国产精品高潮呻吟| 黄一区二区三区| 欧美三级资源在线| 亚洲欧美区自拍先锋| 国产美女视频91| 欧美一区二区三区在线观看 | www.欧美色图| 日韩你懂的在线播放| 亚洲精品中文字幕乱码三区 | 在线电影国产精品| 亚洲线精品一区二区三区八戒| 一区二区激情视频| 99精品在线免费| 久久婷婷国产综合精品青草| 久久97超碰色| 7777精品伊人久久久大香线蕉 | 久久久综合精品| 男人的天堂久久精品| 欧美私人免费视频| 亚洲精品成人精品456| 91在线观看污| 亚洲女厕所小便bbb| 99久久综合狠狠综合久久| 久久久久国产一区二区三区四区| 国产亚洲一二三区| 国内国产精品久久| 欧美激情一区三区| 国产福利视频一区二区三区| 精品国产百合女同互慰| 老司机免费视频一区二区三区| 国产精品久久国产精麻豆99网站| 一区二区三区中文免费| 99r国产精品| 国产精品成人一区二区艾草 | 久久精品视频网| 九色综合国产一区二区三区| 久久久国产精华| 国内精品伊人久久久久av影院| 免费视频一区二区| 日韩欧美中文一区二区| 日韩和欧美一区二区| 日韩午夜激情免费电影| 久久电影网站中文字幕| 欧美一区二区大片| 成人激情动漫在线观看| 亚洲色图20p|