亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用asp獲取文件md5值

2019-11-17 04:29:34
字體:
來源:轉載
供稿:網友

網上asp加密字符的md5很多,也很普遍,但是對文件進行md5的確很少,因為受到asp語言本身的限制。我們知道字符串的md5可以對明文進行不可逆的加密,從而保證數據儲存或者傳送的安全性。同樣的,對文件進行md5加密也是為了保證在網絡傳送時不被修改和校驗,另外還有一個用途就是在個人站點里面的應用:可以保證上傳的圖片或文件具有唯一性。原理是,上傳到服務器之后,同時在數據庫中記錄該上傳文件的md5值,這樣在下次傳同樣文件的時候,可以通過查詢數據庫是否是相同的文件,md5值相同,我們就認為它是相同的文件,md5值就是文件的“身份證”,其實百度也有這方面的應用,在百度搜索圖片,點開圖片后,有時候會出現“您還可以點擊以下鏈接查看到這張圖片:XXX網址”,原理也是一樣,對文件進行md5。
廢話少說,開始正文。
一、asp通過xml交互方式調用.Net程序實現文件md5
asp由于本身語言的限制,無法實現文件的md5,但是.net確可以,那是不是可以通過.net對文件進行md5,然后發送信息給asp接收,這樣就可以做到asp的md5了呢,答案是肯定的。這里涉及到asp與.net程序間的交互,我以前寫過一個asp的類:《asp處理xml數據的發送、接收類》,可以上我的百度空間看:http://hi.baidu.com/manbutianmi/blog/item/dec182fc6db36587b801a0f6.html,講的是asp處理xml數據的發送與接收,可用于各種異構系統之間API接口間通訊。本文正好是這個類的一個應用。代碼如下:

asp端代碼

xmlcls.asp
<%
Rem 處理xml數據的發送、接收類
'--------------------------------------------------
'轉載的時候必須保留此版權信息
'作者:walkman
'網址:手機主題網:http://www.shouji138.com
'版本:ver1.0
'--------------------------------------------------
Class XmlClass
 
 Rem 變量定義
 PRivate XmlDoc,xmlhttp
 Private MessageCode,SysKey,XmlPath
 Private m_GetXmlDoc,m_url
 Private m_XmlDocAccept

 Rem 初始化
 Private Sub Class_Initialize()
  On Error Resume Next
  MessageCode = ""
  XmlPath = ""
  Set XmlDoc = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0")
  XmlDoc.ASYNC = False
 End Sub
 
 Rem 銷毀對象
 Private Sub Class_Terminate()
  If IsObject(XmlDoc) Then Set XmlDoc = Nothing
  If IsObject(m_XmlDocAccept) Then Set m_XmlDocAccept = Nothing
  If IsObject(m_GetXmlDoc) Then Set m_GetXmlDoc = Nothing  
 End Sub

 
 '公共屬性定義開始--------------------------
 Rem 錯誤信息
 Public Property Get Message()
  Message = MessageCode
 End Property


 Rem 發送xml的地址
 Public Property Let  URL(str)
  m_url = str
 End Property
 '公共屬性定義結束--------------------------

 
 '私有過程、方法開始--------------------------
 Rem 加載xml
 Private  Sub LoadXmlData()
  If XmlPath <> "" Then
   If Not XmlDoc.Load(XmlPath) Then
    XmlDoc.LoadXml "<?xml version=""1.0"" encoding=""gb2312""?><root/>"
   End If
  Else
   XmlDoc.LoadXml "<?xml version=""1.0"" encoding=""gb2312""?><root/>"
  End If
 End Sub

 Rem 字符轉化
 Private Function AnsiToUnicode(ByVal str)
  Dim i, j, c, i1, i2, u, fs, f, p
  AnsiToUnicode = ""
  p = ""
  For i = 1 To Len(str)
   c = Mid(str, i, 1)
   j = AscW(c)
   If j < 0 Then
    j = j + 65536
   End If
   If j >= 0 And j <= 128 Then
    If p = "c" Then
     AnsiToUnicode = " " & AnsiToUnicode
     p = "e"
    End If
    AnsiToUnicode = AnsiToUnicode & c
   Else
    If p = "e" Then
     AnsiToUnicode = AnsiToUnicode & " "
     p = "c"
    End If
    AnsiToUnicode = AnsiToUnicode & ("&#" & j & ";")
   End If
  Next
 End Function
 
 Rem 字符轉化
 Private Function strAnsi2Unicode(asContents)
  Dim len1,i,varchar,varasc
  strAnsi2Unicode = ""
  len1=LenB(asContents)
  If len1=0 Then Exit Function
    For i=1 to len1
   varchar=MidB(asContents,i,1)
   varasc=AscB(varchar)
   If varasc > 127  Then
    If MidB(asContents,i+1,1)<>"" Then
     strAnsi2Unicode = strAnsi2Unicode & chr(ascw(midb(asContents,i+1,1) & varchar))
    End If
    i=i+1
    Else
    strAnsi2Unicode = strAnsi2Unicode & Chr(varasc)
    End If
  Next
 End Function


 Rem 往文件中追加字符
 Private Sub WriteStringToFile(filename,str)
  On Error Resume Next
  Dim fs,ts
  Set fs= createobject("scr  If Not IsObject(fs) Then Exit Sub  
  Set ts=fs.OpenTextFile(Server.MapPath(filename),8,True)
  ts.writeline(str)
  ts.close
  Set ts=Nothing
  Set fs=Nothing
 End Sub
 '私有過程、方法結束--------------------------
 

 '公共方法開始--www.devdao.com------------------------
 
 '''''''''''發送xml部分開始
 Rem 從外部xml文件填充XmlDoc對象
 Public Sub LoadXmlFromFile(path)
  XmlPath =  Server.MapPath(path)
  LoadXmlData()
 End Sub
 
 Rem 用字符串填充XmlDoc對象
 Public Sub LoadXmlFromString(str)
  XmlDoc.LoadXml str
 End Sub
 
 Rem  設置node的參數 如 NodeValue "appID",AppID,1,False
 '--------------------------------------------------
 '參數 :
 'NodeName 節點名
 'NodeText 值
 'NodeType 保存類型 [text=0,cdata=1]
 'blnEncode 是否編碼 [true,false]
 '--------------------------------------------------
 Public Sub NodeValue(Byval NodeName,Byval NodeText,Byval NodeType ,Byval blnEncode)
  Dim ChildNode,CreateCDATASection
  NodeName = Lcase(NodeName)
  If XmlDoc.documentElement.selectSingleNode(NodeName) is nothing Then
   Set ChildNode = XmlDoc.documentElement.appendChild(XmlDoc.createNode(1,NodeName,""))
  Else
   Set ChildNode = XmlDoc.documentElement.selectSingleNode(NodeName)
  End If
  If blnEncode = True Then
   NodeText = AnsiToUnicode(NodeText)
  End If
  If NodeType = 1 Then
   ChildNode.Text = ""
   Set CreateCDATASection = XmlDoc.createCDATASection(Replace(NodeText,"]]>","]]&gt;"))
   ChildNode.appendChild(createCDATASection)
  Else
   ChildNode.Text = NodeText
  End If
 End Sub


 '--------------------------------------------------
 '獲取發送包XML中節點的值
 '參數 :
 'Str 節點名
 '--------------------------------------------------
 Public Property Get XmlNode(Byval Str)
  If XmlDoc.documentElement.selectSingleNode(Str) is Nothing Then
   XmlNode = "Null"
  Else
   XmlNode = XmlDoc.documentElement.selectSingleNode(Str).text
  End If
 End Property

 '--------------------------------------------------
 '獲取返回XML數據對象
 '例:
 '當GetXmlData不為NULL時,GetXmlData為XML對象
 '--------------------------------------------------
 Public Property Get GetXmlData()
  Set GetXmlData = m_GetXmlDoc
 End Property


 '--------------------------------------------------
 '發送xml包
 '--------------------------------------------------
 Public Sub SendHttpData()
  Dim i,GetXmlDoc,LoadAppid
  Set Xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
  Set GetXmlDoc = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0") ' 返回xml包
   XmlHttp.Open "POST", m_url, false
   XmlHttp.SetRequestHeader "content-type", "text/xml"
   XmlHttp.Send XmlDoc
   'Response.Write strAnsi2Unicode(xmlhttp.responseBody)
   If GetXmlDoc.load(XmlHttp.responseXML) Then
    Set m_GetXmlDoc = GetXmlDoc
   Else
    MessageCode = "請求數據錯誤!"
    Exit Sub
   End If
  Set GetXmlDoc = Nothing
  Set XmlHttp = Nothing
 End Sub
 
 
 

 

 '--------------------------------------------------
 '打印發送請求XML數據
 '--------------------------------------------------
 Public Sub PrintSendXmlData()
  Response.Clear
  Response.ContentType = "text/xml"
  Response.CharSet = "gb2312"
  Response.Expires = 0
  Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"&vbNewLine
  Response.Write XmlDoc.documentElement.XML
 End Sub
 
 '--------------------------------------------------
 '打印返回XML數據
 '--------------------------------------------------
 Public Sub PrintGetXmlData()
 
  Response.Clear
  Response.ContentType = "text/xml"
  Response.CharSet = "gb2312"
  Response.Expires = 0
  If IsObject(m_GetXmlDoc) Then
   Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"&vbNewLine
   Response.Write m_GetXmlDoc.documentElement.XML
  Else
   Response.Write "<?xml version=""1.0"" encoding=""gb2312""?><root></root>"
  End If
 End Sub


 Rem  保存發送請求xml數據到文件,文件名為sendxml_日期.txt
 Public Sub SaveSendXmlDataToFile()
  Dim filename,str
  filename = "sendxml_" & DateValue(now) & ".txt"
  str = ""
  str = str & ""& Now() & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  str = str &  "<?xml version=""1.0"" encoding=""gb2312""?>" & vbNewLine
  str = str &  XmlDoc.documentElement.XML & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  str = str &  vbNewLine & vbNewLine & vbNewLine
  WriteStringToFile filename,str
 End Sub
 


 Rem  保存返回XML數據到文件,文件名為getxml_日期.txt
 Public Sub SaveGetXmlDataToFile()
  Dim filename,str
  filename = "getxml_" & DateValue(now) & ".txt"
  str = ""
  str = str & ""& Now() & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  If IsObject(m_GetXmlDoc) Then
   str = str & "<?xml version=""1.0"" encoding=""gb2312""?>" & vbNewLine
   str = str & m_GetXmlDoc.documentElement.XML
  Else
   str = str & "<?xml version=""1.0"" encoding=""gb2312""?>" & vbNewLine & "<root>" & vbNewLine & "</root>"
  End If
  str = str & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  str = str &  vbNewLine & vbNewLine & vbNewLine
  WriteStringToFile filename,str
 End Sub

 
 
 '--------------------------------------------------
 '獲取返回xml的節點信息
 'XmlClassObj.GetSingleNode("http://msg")
 '--------------------------------------------------
 Public Function GetSingleNode(nodestring)
  If IsObject(m_GetXmlDoc) Then
   GetSingleNode = m_GetXmlDoc.documentElement.selectSingleNode(nodestring).text
  Else
   GetSingleNode = ""
  End If
 End Function
 ''''''''''''''''''發送xml部分結束
 
 


 ''''''''''''''''''接收xml部分開始
 '--------------------------------------------------
 '接收XML包,錯誤信息通過Message對象獲取
 '--------------------------------------------------
 Public Function AcceptHttpData()
  Dim XMLdom
  Set XMLdom = Server.CreateObject("Microsoft.XMLDOM")
  XMLdom.Async = False
  XMLdom.Load(Request)
  If XMLdom.parseError.errorCode <> 0 Then
   MessageCode =  "不能正確接收數據" & "Descript_ion: " & XMLdom.parseError.reason & "<br>Line: " & XMLdom.parseError.Line
   Set m_XmlDocAccept = Null
  Else
   Set m_XmlDocAccept = XMLdom
  End If
 End Function

 '--------------------------------------------------
 '返回接收XML包節點信息
 'XmlClassObj.GetSingleNode("http://msg")
 '--------------------------------------------------
 Public Function AcceptSingleNode(nodestring)
  If IsObject(m_XmlDocAccept) Then
   AcceptSingleNode = m_XmlDocAccept.documentElement.selectSingleNode(nodestring).text
  Else
   AcceptSingleNode = ""
  End If
 End Function

 
 '--------------------------------------------------
 '打印接收端接收到的XML數據
 '--------------------------------------------------
 Public Sub PrintAcceptXmlData()
  Response.Clear
  Response.ContentType = "text/xml"
  Response.CharSet = "gb2312"
  Response.Expires = 0
  If IsObject(m_XmlDocAccept) Then
   Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"&vbNewLine
   Response.Write m_XmlDocAccept.documentElement.XML
  Else
   Response.Write "<?xml version=""1.0"" encoding=""gb2312""?><root></root>"
  End If
 End Sub


 Rem  保存接收的XML包數據到文件,文件名為acceptxml_日期.txt
 Public Sub SaveAcceptXmlDataToFile()
  Dim filename,str
  filename = "acceptxml_" & DateValue(now) & ".txt"
  str = ""
  str = str & ""& Now() & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  If IsObject(m_XmlDocAccept) Then
   str = str & "<?xml version=""1.0"" encoding=""gb2312""?>" & vbNewLine
   str = str & m_XmlDocAccept.documentElement.XML
  Else
   str = str & "<?xml version=""1.0"" encoding=""gb2312""?>" & vbNewLine & "<root>" & vbNewLine & "</root>"
  End If
  str = str & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  str = str &  vbNewLine & vbNewLine & vbNewLine
  WriteStringToFile filename,str
 End Sub
 
 ''''''''''''''''''接收xml部分結束

 Rem  保存調試數據到文件,文件名為debugnote_日期.txt
 Public Sub SaveDebugStringToFile(debugstr)
  Dim filename,str
  filename = "debugnote_" & DateValue(now) & ".txt"
  str = ""
  str = str & ""& Now() & vbNewLine
  str = str & "---------------------------------------------"& vbNewLine
  str = str & debugstr  & vbNewLine
  str = str & "---------------------------------------------"
  str = str &  vbNewLine & vbNewLine & vbNewLine
  WriteStringToFile filename,str
 End Sub

 '公共方法結束--------------------------
 
End Class
%>

filemd5fun.asp

<!--#Include File="xmlcls.asp"-->
<%
Rem  取得文件的md5,參數為文件名
Function GetFileMD5(filename)
 Const Apisysno = "k8n6g2b0m1a6b0f6e8" '接口的Key值,防止被非法適用 接口應該保持一致
 Dim XmlClassObj
 Set XmlClassObj  = new XmlClass '創建對象
 XmlClassObj.LoadXmlFromString("<?xml version=""1.0"" encoding=""gb2312""?><root/>") '用xml字符填充XMLDOC對象,用來發送xml
 XmlClassObj.URL = "


 Rem xml格式
 Rem "<?xml version="1.0" encoding="gb2312"?>
 Rem    <root>
 Rem       <sysno></sysno>
 Rem       <apiaction></apiaction>
 Rem        <filename></filename>
 Rem   </root>
 

 XmlClassObj.NodeValue "sysno",Apisysno,0,False     '接口的Key值,防止被非法適用
 XmlClassObj.NodeValue "apiaction","createfilemd5",0,False  '接口的響應動作,用于定義一個接口用于多種用途
 XmlClassObj.NodeValue "filename",filename,0,False    '文件路徑和文件名,用相對路徑

 'XmlClassObj.SaveSendXmlDataToFile()      '將發送的xml數據庫包存入txt文件,用于調試之用 
 XmlClassObj.SendHttpData()        '發送xml數據
 'XmlClassObj.SaveGetXmlDataToFile()      '保存接收到的xml數據
 

 Rem  處理結果

 Dim message,status
 status =  XmlClassObj.GetSingleNode("http://status")   '顯示狀態,如果為OK則表示成功,否則有錯誤發生
 message =  XmlClassObj.GetSingleNode("http://message")  '顯示取到的MD5值,如果status不為OK,則message為錯誤信息
 Set XmlClassObj = Nothing

 If status = "OK" Then
  GetFileMD5 = message
 Else
  GetFileMD5 = ""
 End If  
End Function

%>

test.asp
<!--#Include File="filemd5fun.asp"-->

<% 
 Response.Write "web.config的md5值是:" & GetFileMD5("web.config")  & "<br />"
 Response.Write "files/logo-yy.gif的md5值是:" & GetFileMD5("files/logo-yy.gif") & "<br />"
 Response.Write "xmlcls.asp的md5值是:" & GetFileMD5("xmlcls.asp") & "<br />"
%>


.net端代碼:
MD5.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace Winsteps.FileMD5
{
    public class MD5
    {
        public static string md5_hash(string path)
        {
            try
            {
                FileStream get_file = new FileStream(path, FileMode.Open, File
access.Read, FileShare.Read);
                System.Security.Cryptography.MD5CryptoServiceProvider get_md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] hash_byte = get_md5.ComputeHash(get_file);
                string resule = System.BitConverter.ToString(hash_byte);
                resule = resule.Replace("-", "");
                return resule;
            }
            catch (Exception e)
            {
                return e.Message;
            }
        }
    }
}

FileMD5.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileMD5.aspx.cs" Inherits="Winsteps.FileMD5.FileMD5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head runat="server">
    <title>手機主題網:http://www.shouji138.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
    </div>
    </form>
</body>
</html>

FileMD5.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Xml;
using System.Configuration;

namespace Winsteps.FileMD5
{
    public partial class FileMD5 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string sysno = "11111";
            string status = "False";
            string message = "未指定的錯誤";
            string net2sysno = ConfigurationManager.AppSettings["sysno"];
            XmlDocument doc = new XmlDocument();
            try
            {
               
                doc.Load(Request.InputStream);
                sysno = doc.SelectSingleNode("http://sysno").InnerText.Trim();
                if (net2sysno != sysno)
                {
                    message = "非法適用!";
                }
                else
                {
                    string filename = Server.MapPath(doc.SelectSingleNode("http://filename").InnerText.Trim());
                    message = MD5.md5_hash(filename);
                    status = "OK";
                }

            }
            catch(Exception ex)
            {
                message = ex.Message;
            }
            finally
            {
                if (doc != null)
                    doc = null;
            }
            Response.Clear();  //清楚html字符
            Response.ContentType = "text/xml";
            Response.Charset = "GB2312";//如果xml字符串中包含中文
            Response.Write("<?xml version=/"1.0/" encoding=/"GB2312/"?>");
            Response.Write("<root>");
            Response.Write("   <status>" + status + "</status>");
            Response.Write("   <message>" + message + "</message>");
            Response.Write("</root>");
            Response.End();

        }
    }
}


Web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="sysno" value="k8n6g2b0m1a6b0f6e8"></add>
  </appSettings>
  <system.web>
    <httpRuntime executionTimeout="3600" maxRequestLength="1048576"/>
    <compilation debug="true" defaultLanguage="c#" />
    <customErrors mode="Off" />
    <identity impersonate="true"/>
    <authentication mode="Forms">
      <forms name="forums" path="/" loginUrl="Login.aspx" protection="All" timeout="40">
      </forms>
    </authentication>
    <pages validateRequest="false"></pages>
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN"/>
  </system.web>
</configuration>


web.config的sysno要跟filemd5fun.asp里面的Apisysno保持一致,具體應用時應該要把這個key改成你自己的值來保證安全。
演示地址:http://www.shouji138.com/aspnet2/filemd5.asp
代碼雖然長,但是原理簡單,asp發送xml數據給
asp.net(xml中包含了要md5的文件名)->asp.net接收xml對文件進行md5->asp.net將結果通過xml返回給asp(xml中包含了獲取到的md5值)->asp獲取返回的xml,解析出md5值。
應用范圍:
1. 在兩個系統之間傳送文件時,可以在傳送前進行文件md5,傳送后進行文件md5,檢查兩值是否相等,如果相等則表示在傳送過程中沒有被修改。
2. 做上傳系統中,如果要求不能上傳同文件的話,可以在上傳之后的文件進行md5存入數據庫中,這樣下次上傳同樣文件,則md5會相同,拒絕上傳。
3. 在搜索引擎、迅雷本b2b軟件中,對文件md5,具有相同md5的文件被認為是相同文件,而不管文件名是否相同,可以從多個源來分享文件。
4. 其他應用。。。。。


二、asp通過COM組件實現md5(需要在服務器上注冊組件)

注冊一個asp的文件md5組件,下載地址:http://www.shouji138.com/aspnet2/files/aspmd5.rar

然后將PARmf.dll文件拷貝到服務器的c:/WINDOWS/system32目錄,運行regsvr32 parmf.dll進行注冊,重啟IIS。

調用代碼:
<%
Set DelphiASPObj = Server.CreateObject("PARmf.md5file")
   DelphiASPObj.in_path=Server.Mappath("Web.config")      '文件路徑
   Response.Write "web.config的md5值是:" & DelphiASPObj.get_path_md5  & "<br />"
   Set DelphiASPObj=nothing
%>

三、兩種方式獲取文件md5的對比

第一種方法通過與asp.net程序交互xml數據來得到文件的md5,需要服務器支持asp.net,一般的虛擬主機都提供asp.net環境,但是價格高點;
第二種方法通過注冊COM組件實現,需要有服務器的權限,對于擁有服務器的比較合適。
另外第一種方式的這種交互方法使得asp具有更大的靈活性,可以應用在2臺不同的服務器上面進行數據交互,可廣泛應用于各種異構平臺。

 
四、下載地址
請到偶的小站,手機主題網查看演示和下載程序包
演示地址:http://www.shouji138.com/aspnet2/filemd5.asp
程序下載打包下載:http://www.shouji138.com/aspnet2/files/FileMD5.rar
asp的文件md5組件:http://www.shouji138.com/aspnet2/files/aspmd5.rar


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区大胆人体摄影专业网站| 欧美亚洲激情在线| 精品国产一区二区三区久久久狼| 国产精品久久综合av爱欲tv| 2019国产精品自在线拍国产不卡| 欧美孕妇与黑人孕交| 国产精品亚洲视频在线观看| 欧美一级bbbbb性bbbb喷潮片| 日韩人体视频一二区| 91美女片黄在线观| 亚洲一区二区久久久久久久| 国产精品久久婷婷六月丁香| 2021国产精品视频| 午夜精品久久久久久99热| 91国内揄拍国内精品对白| 3344国产精品免费看| 亚洲欧美日韩综合| 午夜精品久久久久久久99热| 国产精品香蕉在线观看| 国产精品久久久久久亚洲影视| 日本久久久久久| 国产精品91久久| 美女视频黄免费的亚洲男人天堂| 中文字幕欧美日韩| 91最新在线免费观看| 欧美中文字幕精品| 91色在线观看| 欧美丝袜一区二区三区| 欧美一级在线亚洲天堂| 欧美二区在线播放| 亚洲最新在线视频| 国产在线观看精品| 久久久久久噜噜噜久久久精品| 国产精品久久久久久亚洲调教| 国模精品系列视频| 日本欧美黄网站| 久久久久久久影视| 亚洲欧美另类自拍| 美日韩丰满少妇在线观看| 91最新国产视频| 久久精品久久久久久| 亚洲第一区中文字幕| 成人免费视频在线观看超级碰| 热久久这里只有精品| 九九热在线精品视频| 欧美电影在线观看网站| 亚洲丁香婷深爱综合| 亚洲色图17p| 欧美黑人性生活视频| 日本精品久久电影| 欧美一区二区大胆人体摄影专业网站| 精品国产鲁一鲁一区二区张丽| 亚洲精品女av网站| 欧美亚洲国产日韩2020| 最新的欧美黄色| 亚洲男女性事视频| 有码中文亚洲精品| 中文字幕在线成人| 自拍亚洲一区欧美另类| 日韩少妇与小伙激情| 超碰精品一区二区三区乱码| 一区二区国产精品视频| 色综合久久悠悠| 亚洲精品videossex少妇| 亚洲性xxxx| 国产精品久久久久久久9999| 久久久久久久久久亚洲| 美女999久久久精品视频| 成人网在线免费看| 国产精品久久久久久久久粉嫩av| 日韩在线一区二区三区免费视频| 91精品成人久久| 久久久99久久精品女同性| 欧美一区二区大胆人体摄影专业网站| 97久久久免费福利网址| 久久久国产视频| 亚洲国产小视频在线观看| 91精品久久久久久久久久久久久久| 国产日韩欧美在线播放| 日韩欧美精品中文字幕| 搡老女人一区二区三区视频tv| 亚洲色图第一页| 欧美日韩免费在线观看| 黄色一区二区三区| 日韩av免费网站| 色妞欧美日韩在线| 国产91精品视频在线观看| 精品久久久久久久久中文字幕| 狠狠干狠狠久久| 美日韩丰满少妇在线观看| 7m第一福利500精品视频| 日韩激情在线视频| 久久6免费高清热精品| 欧美黑人狂野猛交老妇| 国产噜噜噜噜久久久久久久久| 国产91ⅴ在线精品免费观看| 亚洲片在线资源| 98精品国产自产在线观看| 欧美限制级电影在线观看| 成人激情免费在线| 92裸体在线视频网站| 亚洲视频专区在线| 日韩影视在线观看| 欧美性xxxx18| 国产精品视频午夜| 午夜精品蜜臀一区二区三区免费| 日韩美女视频中文字幕| 大荫蒂欧美视频另类xxxx| 亚洲精品久久久久中文字幕欢迎你| 国产91色在线| 中文字幕亚洲综合| 1769国内精品视频在线播放| 日韩av在线免播放器| 91精品综合视频| 久久精视频免费在线久久完整在线看| 国产精品一区二区三区在线播放| 国产日韩欧美在线播放| 91沈先生在线观看| 中文字幕亚洲一区二区三区| 日本亚洲欧洲色| 亚洲va欧美va国产综合久久| 精品在线小视频| 国产精品自拍网| 国产丝袜精品第一页| 成人精品久久av网站| 国产成人精品av在线| 欧美二区在线播放| 国产精品久久久久久久久久久久久久| 久久乐国产精品| 91精品视频在线播放| 亚洲护士老师的毛茸茸最新章节| 国产精品久久久久久久av电影| 一个人www欧美| 欧美孕妇孕交黑巨大网站| 欧美视频在线看| **欧美日韩vr在线| 欧美性高潮床叫视频| 日韩成人av网| 色狠狠av一区二区三区香蕉蜜桃| 欧美成人亚洲成人| 日韩经典中文字幕在线观看| 欧美日韩国产综合新一区| 久久精品中文字幕电影| 最近免费中文字幕视频2019| 最近中文字幕mv在线一区二区三区四区| 亚洲精品福利免费在线观看| 欧美大片在线影院| 66m—66摸成人免费视频| 国产精品久久久久影院日本| 亚洲精品午夜精品| 成人黄在线观看| 亚洲男子天堂网| 精品久久久久国产| 亚洲精品午夜精品| 在线国产精品视频| 日本在线精品视频| 精品动漫一区二区三区| 日韩黄色高清视频| 日韩精品免费看| 操人视频在线观看欧美| 秋霞av国产精品一区| 国产第一区电影| 国产精品久久久久久av| 亚洲丁香久久久|