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

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

?? smartcarddlg.cpp

?? 智能卡密鑰加密
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// smartcardDlg.cpp : implementation file
//

#include "stdafx.h"
#include "smartcard.h"
#include "smartcardDlg.h"
#include "dcic32.h"
#include "HDSSSE32.h"
#include "SSSE32.h"
#include "cpu.h"
#include "des.h"
#include "SendCmd.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:
	CAboutDlg();
	
	// 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)
	//}}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
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSmartcardDlg dialog

CSmartcardDlg::CSmartcardDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSmartcardDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSmartcardDlg)
	m_reader = _T("");
	m_name = _T("");
	m_sex = _T("");
	m_date = _T("");
	m_id = _T("");
	m_cardno = _T("");
	m_pcno = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSmartcardDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSmartcardDlg)
	DDX_Control(pDX, IDC_COMBO2, m_readercnt);
	DDX_CBString(pDX, IDC_COMBO2, m_reader);
	DDX_Text(pDX, IDC_EDIT1, m_name);
	DDX_Text(pDX, IDC_EDIT2, m_sex);
	DDX_Text(pDX, IDC_EDIT6, m_date);
	DDX_Text(pDX, IDC_EDIT5, m_id);
	DDX_Text(pDX, IDC_EDIT3, m_cardno);
	DDX_Text(pDX, IDC_EDIT4, m_pcno);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSmartcardDlg, CDialog)
//{{AFX_MSG_MAP(CSmartcardDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSmartcardDlg message handlers

BOOL CSmartcardDlg::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
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSmartcardDlg::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 CSmartcardDlg::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 CSmartcardDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSmartcardDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	char dev_Name[10] = {'A','U','T','O'};
	
	int nIndex = m_readercnt.GetCurSel(); //GetCurSel() 函數:用以得到用戶選中下拉列表框中數據的索引值.返回的值是重0開始的,如果沒有選擇任何選項將會返回-1
	m_readercnt.GetLBText(nIndex,m_reader); //其原型為void GetLBText( int nIndex, CString&rString ).nIndex為列表框中數據的索引值,rString 為字符串,其作用就是把索引號為nIndex的數據放到rString變量中.與其對應的GetLBTextLen(intnIndex)函數就是得到索引號為nIndex中數據的長度
	
	//判斷讀卡器類型
	if(m_reader=="德卡")
	{
		theApp.m_readerType=1;
	}
	
	else if(m_reader=="明華")
	{
		theApp.m_readerType=2;
	}
	
	else if(m_reader=="華大")
	{
		theApp.m_readerType=3;
	}
	
	
	//打開讀卡器
	if(theApp.m_readerType == 1)
	{
		theApp.icdev = IC_InitComm(100);
		
		if (int(theApp.icdev) >0)
		{
			AfxMessageBox("打開德卡讀卡器成功!");
		}
		
		else
		{
			AfxMessageBox("打開德卡讀卡器失敗!");
		}
		
	}
	else if(theApp.m_readerType == 2)
	{
		theApp.HandleReader1 = ICC_Reader_Open(dev_Name);
		
		if(theApp.HandleReader1 > 0)
		{
			AfxMessageBox("打開明華讀卡器成功!");
		}
		
		else
		{
			AfxMessageBox("打開明華讀卡器失敗!");
		}
		
	}
	else if(theApp.m_readerType == 3)
	{
		theApp.HandleReader2 = icc_reader_Open(dev_Name);
		
		if(theApp.HandleReader2 >= 0)
		{
			AfxMessageBox("打開華大讀卡器成功!");
		}
		
		else
		{
			AfxMessageBox("打開華大讀卡器失敗!");
		}
		
		
	}
	else
	{
		AfxMessageBox("未找到讀卡器!"); 
	}
	
	
	
}

void CSmartcardDlg::OnButton3() 
{
	// TODO: Add your control notification handler code here
	int st;
	
	if(theApp.m_readerType == 1)
	{
		st = IC_ExitComm(theApp.icdev);
		
		if(st == 0)
		{
			AfxMessageBox("關閉德卡讀卡器成功!"); 
		}
		else
		{
			AfxMessageBox("關閉德卡讀卡器失敗!"); 
		}
	}
	else if(theApp.m_readerType == 2)
	{
		if(theApp.HandleReader1 > 0)
		{
			ICC_Reader_Close(theApp.HandleReader1);
			
			AfxMessageBox("關閉明華讀卡器成功!"); 
		}
		else
		{
			AfxMessageBox("關閉明華讀卡器失敗!"); 
		}
		
	}
	else if(theApp.m_readerType == 3)
	{
		if(theApp.HandleReader2 >= 0)
		{
			icc_reader_Close(theApp.HandleReader2);
			
			AfxMessageBox("關閉華大讀卡器成功!"); 
		}
		else
		{
			AfxMessageBox("關閉華大讀卡器失敗!"); 
		}
	}
	
}

void CSmartcardDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	int st;
	unsigned char resp[512];
	unsigned char resplen;
	unsigned char cmd[260];
	unsigned char name[20];                    //姓名            
	unsigned char sex[5];                      //性別
	unsigned char id[20];                      //身份證號
	unsigned char date[10];                    //發卡日期
	unsigned char date_asc[20];
	unsigned char card_num[20];                //醫療證號
    unsigned char pc_num[20];                  //電腦號
	unsigned int cmdlen;
	unsigned int sw1sw2;
	WORD SW1SW2;
	long ST;
	long resplength;
	
	UpdateData(TRUE);
	
	if(theApp.m_readerType == 1)                       //選擇的是德卡讀卡器
	{
		//選擇主卡座(用戶卡)
		st = IC_InitType(theApp.icdev, CardSet_User);
		if (st < 0)
		{
			AfxMessageBox("選擇卡座類型失敗");
		}
		
		//卡片復位(用戶卡)
		st=IC_CpuReset(theApp.icdev, &resplen, resp);
		if (st < 0)
		{
			AfxMessageBox("卡復位失敗");
		} 
		
		//============================讀數據====================================
		//選文件MF (用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\x3f\x00", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件MF失敗");
		}
		
		//選文件DDF1(用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xdd\xf1", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件DDF1失敗");
		}
		
		//選文件EF05
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xEF\x05", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件EF06失敗");
		}
		
		//讀記錄 DDF1.EF05.05(用戶卡)      發卡日期
		cmdlen = 0x05;
		memcpy(cmd, "\x00\xB2\x05\x04\x06", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("讀取發卡日期失敗");
		}
		
		else
		{
			//獲得讀出的數據
			memcpy(date,resp+2,resplen-2);
			
			HexToAscii(date,date_asc,resplen-2);
			
			date_asc[(resplen-2)*2] = 0x00;
			
			m_date.Format("%s",date_asc);
		}
		
		//選文件MF (用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\x3f\x00", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件MF失敗");
		}
		
		//選文件DDF1(用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xdd\xf1", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件DDF1失敗");
		}
		
		//選文件EF06
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xEF\x06", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件EF06失敗");
		}
		
		//讀記錄 DDF1.EF06.02(用戶卡)      姓名
		cmdlen = 0x05;
		memcpy(cmd, "\x00\xB2\x02\x04\x20", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if(sw1sw2 != 0x9000)
		{
			AfxMessageBox("讀取姓名失敗");
		}
        else
		{
			memcpy(name,resp+2,resplen-2);
			
			name[resplen-2] = 0x00;
			
			m_name.Format("%s",name);
		}
		
		
		//讀記錄 DDF1.EF06.03(用戶卡)      性別
		cmdlen = 0x05;
		memcpy(cmd, "\x00\xB2\x03\x04\x03", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("讀取姓名失敗");
		}
		else
		{
			memcpy(sex,resp+2,resplen-2);
			
			if(sex[0x00] == 0x31)
			{
				m_sex.Format("%s","男");			
			}
			
			else if(sex[0x00] == 0x32)
			{
				m_sex.Format("%s","女");
			}
		}
		
		//讀記錄 DDF1.EF06.01(用戶卡)      公民身份號碼
		cmdlen = 0x05;
		memcpy(cmd, "\x00\xB2\x01\x04\x14", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("讀取身份證號失敗");
		}
		
		else
		{
			//獲得讀出的數據
			memcpy(id,resp+2,resplen-2);
			
			id[resplen-2] = 0x00;
			
			m_id.Format("%s",id);
		}
		
		//============================讀數據====================================
		//選文件MF (用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\x3f\x00", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件MF失敗");
		}
		
		//選文件DDF1(用戶卡)
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xdd\xf1", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件DDF1失敗");
		}
		
		//用戶卡校驗密碼 (用戶卡)
		cmdlen = 0x08;
		memcpy(cmd, "\x00\x20\x00\x00\x03\x12\x34\x56", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		if (sw1sw2 != 0x9000)
		{
			switch(sw1sw2) 
			{
			case 0x63c3:
				AfxMessageBox("還有三次重新輸入密碼機會");
				break;
			case 0x63c2:
				AfxMessageBox("還有二次重新輸入密碼機會");
				break;
			case 0x63c1:
				AfxMessageBox("還有一次重新輸入密碼機會");
				break;
			case 0x63c0:
				AfxMessageBox("再輸入錯誤認證會導致鎖定");
				break;
			default:
				AfxMessageBox("認證鎖定");
			}
		}
		
		//選文件DF04
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xDF\x04", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件DF04失敗");
		}
		
		//選文件EF05
		cmdlen = 0x07;
		memcpy(cmd, "\x00\xA4\x00\x00\x02\xEF\x05", cmdlen);
		sw1sw2 = SendCmd(theApp.icdev, CardSet_User, cmd,cmdlen, resp, &resplen);
		
		if (sw1sw2 != 0x9000)
		{
			AfxMessageBox("選擇文件EF05失敗");
		}
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av一级电影| 国产精品欧美综合在线| 亚洲制服丝袜一区| 午夜精品视频一区| 91精品国产手机| 日本午夜一区二区| 久久午夜国产精品| 国产白丝精品91爽爽久久 | 欧美v日韩v国产v| 韩国三级电影一区二区| 久久综合九色综合97婷婷女人| 日产欧产美韩系列久久99| 欧美一二三四区在线| 久久精品免费看| 久久国产精品72免费观看| 日韩限制级电影在线观看| 调教+趴+乳夹+国产+精品| 欧美日韩国产免费| 免费人成在线不卡| 国产精品美日韩| 91看片淫黄大片一级在线观看| 国产精品乱人伦| 欧美日韩1234| 韩日欧美一区二区三区| 亚洲欧美在线高清| 91丝袜国产在线播放| 亚洲小说欧美激情另类| 7777精品伊人久久久大香线蕉完整版| 美女网站色91| 亚洲精品久久7777| 日韩一区二区视频| 精品一区二区三区视频在线观看| 亚洲天堂成人网| 欧美久久久久久久久| 丁香啪啪综合成人亚洲小说 | 日韩精品久久久久久| 精品国产1区2区3区| 色综合天天天天做夜夜夜夜做| 亚洲午夜羞羞片| 欧美成人精品福利| 欧美影院一区二区| 激情综合色综合久久综合| 亚洲午夜激情av| 精品1区2区在线观看| aa级大片欧美| 国产成人在线免费| 亚洲最新视频在线播放| 欧美国产97人人爽人人喊| 欧美日韩免费在线视频| 激情图区综合网| 日本成人中文字幕在线视频| 国产欧美精品一区二区色综合朱莉| 欧美日韩高清一区二区不卡| 国产成人综合在线播放| 一区二区三区久久| 国产精品国产三级国产普通话99 | 久久久久久一二三区| 欧美精品色一区二区三区| 国产91综合一区在线观看| 免费成人av资源网| 亚洲最新视频在线观看| 亚洲免费观看高清完整| 久久你懂得1024| 欧美一区二区三区婷婷月色| 欧美色网一区二区| 91在线观看高清| voyeur盗摄精品| 国产精品香蕉一区二区三区| 国产一区二区免费视频| 久久精品国产免费| 亚洲成人免费电影| 亚洲国产欧美在线人成| 亚洲色图第一区| 中文字幕日韩一区二区| 久久久精品影视| 精品欧美一区二区在线观看| 欧美本精品男人aⅴ天堂| 6080日韩午夜伦伦午夜伦| 欧美日韩国产成人在线免费| 97精品电影院| 美国欧美日韩国产在线播放| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲成人激情自拍| 日韩精品91亚洲二区在线观看| 夜夜精品视频一区二区| 午夜精品福利一区二区三区蜜桃| 一区二区三区日韩| 亚洲美女区一区| 性久久久久久久久久久久| 一区二区高清免费观看影视大全| 一区二区高清免费观看影视大全| 一区二区在线观看免费视频播放| 91精品国产一区二区三区香蕉 | 丝袜美腿亚洲色图| 亚洲福利视频导航| 日韩va亚洲va欧美va久久| 亚洲成人av资源| 香港成人在线视频| 久久99精品视频| 国产一区二区三区四区五区美女| 成人激情免费视频| www.亚洲在线| 久久91精品久久久久久秒播| 国产精品一品二品| 国产激情精品久久久第一区二区| 99久久综合国产精品| 不卡在线观看av| 在线免费精品视频| 9191成人精品久久| 91精品国产综合久久精品app| 久久久亚洲国产美女国产盗摄| 久久精品无码一区二区三区| 亚洲一区在线观看免费| 午夜国产精品影院在线观看| 香蕉久久一区二区不卡无毒影院| 日韩福利电影在线| 激情五月婷婷综合| 色综合亚洲欧洲| 欧美男人的天堂一二区| 欧美激情在线一区二区三区| 亚洲色欲色欲www在线观看| 亚洲综合小说图片| 另类小说图片综合网| 国产suv精品一区二区6| 欧美日韩国产高清一区二区 | 国产三级欧美三级日产三级99| 国产精品色婷婷| 亚洲美女精品一区| 国产尤物一区二区在线| 99久久er热在这里只有精品66| 欧美不卡在线视频| 国产在线一区观看| 欧美电影一区二区三区| 欧美激情综合五月色丁香小说| 亚洲已满18点击进入久久| 久久99深爱久久99精品| 不卡av电影在线播放| 亚洲精品在线电影| 亚洲自拍偷拍麻豆| 99精品欧美一区| 日韩久久久精品| 亚洲一区二区三区小说| 高清av一区二区| 色综合久久中文综合久久牛| 久久精品在这里| 亚洲国产精品一区二区www| 99久久久无码国产精品| 欧美videossexotv100| 天堂成人国产精品一区| 国产成a人无v码亚洲福利| 欧美日本韩国一区| 《视频一区视频二区| 久久精品99国产精品| 欧美精品xxxxbbbb| 亚洲欧美电影院| 不卡视频一二三四| 久久久午夜精品理论片中文字幕| 久久精品国产一区二区三区免费看| 色婷婷av久久久久久久| 精品国精品自拍自在线| 开心九九激情九九欧美日韩精美视频电影 | 欧美国产欧美综合| 卡一卡二国产精品| 欧美久久一二区| 亚洲一区在线观看免费| 99riav久久精品riav| 亚洲欧美综合在线精品| 国产成人超碰人人澡人人澡| 精品国产一区久久| 一区二区三区日韩欧美| 99国产精品久久| 精品国产乱码久久久久久久久 | 日本美女视频一区二区| 日韩一区二区三区四区| 亚洲成年人网站在线观看| 欧美老肥妇做.爰bbww视频| 亚洲狠狠丁香婷婷综合久久久| 久久er精品视频| 欧美精品一区二区在线播放| 麻豆久久久久久| 久久久91精品国产一区二区精品| 韩国午夜理伦三级不卡影院| 国产欧美一区二区在线| 国产激情视频一区二区在线观看| 国产精品久久久久久久蜜臀| 处破女av一区二区| 综合电影一区二区三区| 欧美亚洲综合在线| 国产精品视频一区二区三区不卡| 91免费国产在线| 亚洲精品成a人| 91超碰这里只有精品国产| 秋霞影院一区二区| 国产日韩精品一区二区浪潮av | 久久精品国产999大香线蕉| 久久久久久久久久久久电影| 日韩视频免费观看高清完整版 | 国产成a人亚洲精品| 国产精品成人免费精品自在线观看| 91在线porny国产在线看|