精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Iconfinder 如何杜絕盜版,哈希算法檢測圖像重復

開發 前端 算法
Iconfinder 是一個圖標搜索引擎,為設計師、開發者和其他創意工作者提供精美圖標,目前托管超過 34 萬枚圖標,是全球最大的付費圖標庫。用戶也可以在 Iconfinder 的交易板塊上傳出售原創作品。每個月都有成千上萬的圖標上傳到Iconfinder,同時也伴隨而來大量的盜版圖。Iconfinder 工程師 Silviu Tantos 在本文中提出一個新穎巧妙的圖像查重技術,以杜絕盜版。

Iconfinder 是一個圖標搜索引擎,為設計師、開發者和其他創意工作者提供精美圖標,目前托管超過 34 萬枚圖標,是全球最大的付費圖標庫。用戶也可以在 Iconfinder 的交易板塊上傳出售原創作品。每個月都有成千上萬的圖標上傳到Iconfinder,同時也伴隨而來大量的盜版圖。Iconfinder 工程師 Silviu Tantos 在本文中提出一個新穎巧妙的圖像查重技術,以杜絕盜版。

我們將在未來幾周之內推出一個檢測上傳圖標是否重復的功能。例如,如果用戶下載了一個圖標然后又試圖通過上傳它來獲利(曾發生過類似案例),那么通過我們的方法,就可以檢測出該圖標是否已存在,并且標記該賬戶欺詐。在大量文件中檢測某文件是否已經存在的一個常用方法是,通過計算數據集中每一個文件的哈希值,并將該哈希值存儲在數組庫中。當想要查找某特定文件時,首先計算該文件哈希值,然后在數據庫中查找該哈希值。

選擇一個哈希算法

加密哈希算法是一個常用的哈希算法。類似MD5,SHA1,SHA256這種在任何一種語言都可以找到可調用的標準庫,它們對于簡單的用例非常有效。

例如,在Python中先導入hashlib模塊,然后調用函數就可以生成某一個字符串或者文件的哈希值。

  1. >>> import hashlib  
  2.    
  3. # Calculating the hash value of a string.  
  4. >>> hashlib.md5('The quick brown fox jumps over the lazy dog').hexdigest()  
  5. '9e107d9d372bb6826bd81d3542a419d6' 
  6.    
  7. # Loading an image file into memory and calculating it's hash value.  
  8. >>> image_file = open('data/cat_grumpy_orig.png').read()  
  9. >>> hashlib.md5(image_file).hexdigest()  
  10. '3e1f6e9f2689d59b9ed28bcdab73455f' 

這個算法對于未被篡改的上傳文件非常有效,如果輸入數據有細微變化,加密哈希算法都會導致雪崩效應,從而造成新文件的哈希值完全不同于原始文件哈希值。

比如下面這個例子,它在句子的結尾多加了一個句號。

  1. # Original text.  
  2. >>> hashlib.md5('The quick brown fox jumps over the lazy dog').hexdigest()  
  3. '9e107d9d372bb6826bd81d3542a419d6' 
  4.    
  5. # Slight modification of the text.  
  6. >>> hashlib.md5('The quick brown fox jumps over the lazy dog.').hexdigest()  
  7. 'e4d909c290d0fb1ca068ffaddf22cbd0' 
如果圖像背景色被改變,圖像被裁剪,旋轉或者某一個像素被修改,那么都無法在圖像哈希庫中匹配。可見傳統哈希算法并不具有實用性。正如你在上面例子中看到的,哈希值9 e107d9d372bb6826bd81d3542a419d6 和e4d909c290d0fb1ca068ffaddf22cbd0幾乎是不同的(除了幾個字符)。

例如,修改圖像中貓咪鼻子的顏色后,圖像的哈希值將改變。

cat_grumpy_orig.png (256×256)                     

Original image                                                                             Modified image

  1. # Load the original image into memory and calculate it's hash value.  
  2. >>> image_file = open('data/cat_grumpy_orig.png').read()  
  3. >>> hashlib.md5(image_file).hexdigest()  
  4. '3e1f6e9f2689d59b9ed28bcdab73455f' 
  5.    
  6. # Load the modified image into memory and calculate it's hash value.  
  7. >>> image_file_modified = open('data/cat_grumpy_modif.png').read()  
  8. >>> hashlib.md5(image_file_modified).hexdigest()  
  9. '12d1b9409c3e8e0361c24beaee9c0ab1' 

目前已有許多感知哈希算法,本文將要提出一個新的dhash(差異哈希)算法,該算法計算相鄰像素之間的亮度差異并確定相對梯度。對于以上的用例,感知哈希算法將非常有效。感知哈希算法從文件內容的各種特征中獲得一個能夠靈活分辨不同文件微小區別的多媒體文件指紋。

dHash

深入學習dHash算法前,先介紹一些基礎知識。一個彩色圖像是由RGB三原色組成,可以看成一個紅綠藍三原色的顏色集。比如利用用Python圖像庫(PIL)加載一個圖像,并打印像素值。

                            Test image

  1. >>> from PIL import Image  
  2. >>> test_image  = Image.open('data/test_image.jpg')  
  3.    
  4. # The image is an RGB image with a size of 8x8 pixels.  
  5. >>> print 'Image Mode: %s' % test_image.mode  
  6. Image Mode: RGB  
  7. >>> print 'Width: %s px, Height: %s px' % (test_image.size[0], test_image.size[1])  
  8. Width: 4 px, Height: 4 px  
  9.    
  10. # Get the pixel values from the image and print them into rows based on  
  11. # the image's width.  
  12. >>> width, height = test_image.size  
  13. >>> pixels = list(test_image.getdata())  
  14. >>> for col in xrange(width):  
  15. ...   print pixels[col:col+width]  
  16. ...  
  17. [(25500), (02550), (00255), (255255255)]  
  18. [(000), (2124545), (5192154), (13018347)]  
  19. [(206210198), (131788), (131156180), (117155201)]  
  20. [(104133170), (21513020), (153155155), (104142191)] 

現在我們回到dHash算法,該算法有四個步驟,本文詳細說明每一步并驗證它在原始圖像和修改后圖像的效果。前三個像素的紅綠藍顏色強度值分別為255,其余兩個顏色強度值分別為0,純黑色像素三原色為0,純白色像素三原色為255。其它顏色像素則是由不同強度三原色值組成的。

1.圖像灰度化

通過灰度化圖像,將像素值減少到一個發光強度值。例如,白色像素(255、255、255)成為255而黑色像素(0,0,0)強度值將成為0。

        

Original image (after step 1)                                     Modified image (after step 1)

#p#

2.將圖像縮小到一個常見大小

將圖像縮減到一個常見基礎尺寸,比如寬度大高度一個像素值的9*8像素大小(到第三步你就能明白為什么是這個尺寸)。通過這個方法將圖像中的高頻和細節部分移除,從而獲得一個有72個強度值的樣本。由于調整或者拉伸圖像并不會改變它的哈希值,所以將所有圖像歸一化到該大小。

1                   2

Original image (after step 2)                     Modified image (after step 2)

3.比較鄰域像素

前兩步實現后得到一個強度值列表,比較該二進制值數組的每一行的相鄰像素。

  1. >>> from PIL import Image  
  2. >>> img = Image.open('data/cat_grumpy_orig_after_step_2.png')  
  3. >>> width, height = img.size  
  4. >>> pixels = list(img.getdata())  
  5. >>> for col in xrange(width):  
  6. ...   print pixels[col:col+width]  
  7. ...  
  8. [254254255253248254255254255]  
  9. [254255253248254255254255255]  
  10. [253248254255254255255255222]  
  11. [248254255254255255255222184]  
  12. [254255254255255255222184177]  
  13. [255254255255255222184177184]  
  14. [254255255255222184177184225]  
  15. [255255255222184177184225255

第一個值254和第二個254做比較,第二個值和第三個值比,以此類推,從而每行得到8個布爾值。

  1. >>> difference = []  
  2. >>> for row in xrange(height):  
  3. ...   for col in xrange(width):  
  4. ...     if col != width:  
  5. ...       difference.append(pixels[col+row] > pixels[(col+row)+1])  
  6. ...  
  7. >>> for col in xrange(width-1):  
  8. ...   print difference[col:col+(width-1)]  
  9. ...  
  10. [False, False, True, True, False, False, True, False]  
  11. [False, True, True, False, False, True, False, False]  
  12. [True, True, False, False, True, False, False, False]  
  13. [True, False, False, True, False, False, False, True]  
  14. [False, False, True, False, False, False, True, True]  
  15. [False, True, False, False, False, True, True, False]  
  16. [True, False, False, False, True, True, False, False]  
  17. [False, False, False, True, True, False, False, True] 

4.轉換為二值

為了方便哈希值存儲和使用,將8個布爾值轉換為16進制字符串。Ture變成1,而False變成0。

 

Python實現

下面是完整Python實現的完成算法:

  1. def dhash(image, hash_size = 8):  
  2.     # Grayscale and shrink the image in one step.  
  3.     image = image.convert('L').resize(  
  4.         (hash_size + 1, hash_size),  
  5.         Image.ANTIALIAS,  
  6.     )  
  7.    
  8.     pixels = list(image.getdata())  
  9.    
  10.     # Compare adjacent pixels.  
  11.     difference = []  
  12.     for row in xrange(hash_size):  
  13.         for col in xrange(hash_size):  
  14.             pixel_left = image.getpixel((col, row))  
  15.             pixel_right = image.getpixel((col + 1, row))  
  16.             difference.append(pixel_left > pixel_right)  
  17.    
  18.     # Convert the binary array to a hexadecimal string.  
  19.     decimal_value = 0 
  20.     hex_string = []  
  21.     for index, value in enumerate(difference):  
  22.         if value:  
  23.             decimal_value += 2**(index % 8)  
  24.         if (index % 8) == 7:  
  25.             hex_string.append(hex(decimal_value)[2:].rjust(2'0'))  
  26.             decimal_value = 0 
  27.    
  28.     return ''.join(hex_string) 

最常見情況,圖片稍有不同,哈希值很可能是相同的,所以我們可以直接比較。

  1. >>> from PIL import Image  
  2. >>> from utility import dhash, hamming_distance  
  3. >>> orig = Image.open('data/cat_grumpy_orig.png')  
  4. >>> modif = Image.open('data/cat_grumpy_modif.png')  
  5. >>> dhash(orig)  
  6. '4c8e3366c275650f' 
  7. >>> dhash(modif)  
  8. '4c8e3366c275650f' 
  9. >>> dhash(orig) == dhash(modif)  
  10. True 

如果有一個保存哈希值的SQL數據庫, 可以這樣簡單判斷哈希值“4 c8e3366c275650f ”是否存在:

  1. SELECT pk, hash, file_path FROM image_hashes  
  2.     WHERE hash = '4c8e3366c275650f'

現在,對于一些有較大差別的圖像,它們的哈希值可能是不相同的,那么需要計算由一個字符串變成另一個字符串所需替換的最少字符數,即漢明距離。

維基百科上有一些計算兩個字符串之間的漢明距離的Python示例代碼。但是也可以直接基于MySQL數據庫上的計算和查詢來實現。

  1. SELECT pk, hash, BIT_COUNT(  
  2.     CONV(hash, 1610) ^ CONV('4c8e3366c275650f'1610)  
  3. ) as hamming_distance  
  4.     FROM image_hashes  
  5.     HAVING hamming_distance < 4 
  6.     ORDER BY hamming_distance ASC; 

對所查詢的值與數據庫中的哈希值進行異或操作,計數不同位數。由于BIT_COUNT只能操作整數,所以要將所有十六進制的哈希值轉成十進制。

結束語

本文使用Python實現了所介紹的算法,當然了讀者可以使用任何編程語言實現算法。

在簡介中提過,本文算法將應用到Iconfinder上去防止重復提交圖標,可以預想,感知哈希算法還有更多實際應用。因為有相似特征的圖像的哈希值也是相似的,所以它可以幫助圖像推薦系統尋找相似圖像。

原文鏈接: Silviu Tantos   翻譯: 伯樂在線 - 小魚

譯文鏈接: http://blog.jobbole.com/65914/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2021-03-12 13:46:11

加密貨幣區塊鏈貨幣

2015-12-15 10:43:31

企業云端數據泄密

2014-01-08 09:33:57

重復IP地址IP檢測

2010-02-25 08:44:49

Windows 7盜版檢測

2010-07-06 10:35:59

2009-01-18 09:35:00

2011-08-10 16:58:35

windowsXP黑屏

2024-06-05 09:26:50

2022-01-29 08:01:43

漏洞網絡攻擊

2010-10-14 10:46:36

微軟

2009-04-22 08:54:25

2013-04-25 10:47:27

2015-04-01 09:09:12

2009-08-27 17:17:47

2009-05-13 09:11:00

2012-07-25 09:15:16

盜版者客戶

2009-07-28 09:02:22

2010-01-20 09:17:46

2013-10-10 10:34:47

哈希算法

2021-02-05 08:00:48

哈希算法?機器
點贊
收藏

51CTO技術棧公眾號

日本中文字幕在线播放| 日本免费一二三区| 青娱乐极品盛宴一区二区| 中文字幕 久热精品 视频在线 | 国产免费一区二区三区最新6| 白浆在线视频| 国产欧美精品区一区二区三区 | 亚洲色欲久久久综合网东京热| 成人免费视频国产免费麻豆| 蜜桃伊人久久| 久久精品成人欧美大片古装| 国产精品果冻传媒| 日本一区免费网站| 亚洲一区二区免费视频| 日韩av电影免费在线| www.97av| 蜜桃视频在线观看一区| 久久久中精品2020中文| ass极品国模人体欣赏| 午夜精品在线| 欧美日韩在线电影| 久久久一本二本三本| 日本在线免费网| 91看片淫黄大片一级在线观看| 91精品美女在线| 国产成年人免费视频| 日韩久久视频| 精品香蕉在线观看视频一| 国产探花在线观看视频| av亚洲一区二区三区| 午夜日韩在线观看| 欧美在线观看视频免费| 91大神在线网站| 91蜜桃在线免费视频| 99精品在线直播| 中文字幕网址在线| 亚洲欧美日韩国产综合精品二区 | 欧美一区午夜视频在线观看| 狠狠爱免费视频| 牛牛精品视频在线| 亚洲素人一区二区| 亚洲精品无人区| 久草视频在线看| av电影天堂一区二区在线观看| 91亚洲国产成人久久精品网站| 午夜精品免费观看| 久久精品首页| 欧美一区亚洲一区| 日韩三级视频在线| 精品动漫3d一区二区三区免费版| 日韩午夜在线视频| 大吊一区二区三区| 欧美中文字幕一区二区| 亚洲日本欧美日韩高观看| 欧美精品黑人猛交高潮| 蜜臀av一区| 欧美精品一区二区三区四区| 男人女人拔萝卜视频| 日韩精品成人| 日韩欧美国产不卡| 少妇献身老头系列| 亚洲视频国产| 欧美大片免费久久精品三p| 杨幂一区二区国产精品| 久久久久久亚洲精品美女| 777久久久精品| 亚洲高清av一区二区三区| 成人免费观看49www在线观看| 欧美巨大另类极品videosbest | 亚洲高清一区二| 丝袜熟女一区二区三区| 精品伊人久久久| 亚洲老司机av| 夫妇交换中文字幕| 99久久夜色精品国产亚洲1000部| 久久精品精品电影网| 国产黄色片在线| 欧美一区二区三区免费看| 不卡av在线播放| 国产一级片网址| 美女精品在线观看| 国产一区二区丝袜| 国产av精国产传媒| 91玉足脚交白嫩脚丫在线播放| 久久久久久国产精品一区| 免费福利在线视频| 国产精品的网站| 欧美国产综合在线| 免费亚洲电影| 91精品国产综合久久精品app | 国产亚洲精aa在线看| 精品国产一区二区三区忘忧草| 精品一区二区视频在线观看| 亚洲欧洲av| 久久视频在线看| 日本视频www| 奇米影视一区二区三区小说| 成人黄色影片在线| 五月婷婷深深爱| 国产精品国产a级| 91精品国产91久久久久麻豆 主演| 手机av在线| 91成人免费电影| 美女被艹视频网站| 国产精品免费大片| 欧美激情一区二区久久久| 69xxxx国产| 成人永久aaa| 亚洲午夜高清视频| 国产三级电影在线播放| 欧美日高清视频| 中文字幕在线永久| 婷婷色综合网| 日韩av电影在线播放| 97在线公开视频| 久久亚洲综合色一区二区三区| 中文字幕第一页亚洲| 偷拍自拍在线看| 日韩一区二区电影在线| av中文字幕免费观看| 欧美午夜不卡| 国产在线观看一区二区三区 | 国产a亚洲精品| 亚洲激情在线观看视频免费| 四虎永久免费地址| 日韩—二三区免费观看av| 国产精品一码二码三码在线| 久草免费在线| 欧美系列日韩一区| 中文字幕高清视频| 极品少妇一区二区三区| 成人免费午夜电影| 成年人在线观看| 日韩欧美视频一区二区三区| 香蕉视频在线观看黄| 91九色精品| 国产精品天天狠天天看| 国产精品久久久久一区二区国产| 午夜精品爽啪视频| 动漫av在线免费观看| 围产精品久久久久久久| 国产精品女人久久久久久| 国产最新视频在线| 一本到高清视频免费精品| 国产 中文 字幕 日韩 在线| 91久久亚洲| 国产精品久久亚洲| brazzers在线观看| 欧美α欧美αv大片| 欧美在线视频第一页| 九九国产精品视频| 制服国产精品| 国产亚洲高清一区| 久久av在线看| www.av日韩| 夜夜亚洲天天久久| 在线xxxxx| 在线观看视频日韩| 国产视频一区二区不卡| 国产夫妻在线| 亚洲免费高清视频| av首页在线观看| 国产精品国产自产拍高清av | 激情综合亚洲精品| 懂色av粉嫩av蜜臀av| 日韩精品免费视频一区二区三区 | 日韩电影一区二区三区| 亚洲国产成人不卡| 四虎影视成人精品国库在线观看| 久久精品国产亚洲一区二区| 国产极品久久久| 亚洲成a人在线观看| 亚洲久久久久久| 日韩综合一区二区| 中文字幕一区综合| 777久久精品| 欧美又大粗又爽又黄大片视频| 青青草视频在线观看| 欧美日韩一区 二区 三区 久久精品 | 国产情侣在线视频| 国产偷国产偷精品高清尤物| 久久久久国产一区| 一区二区三区午夜探花| 韩国精品一区二区三区六区色诱| 厕沟全景美女厕沟精品| 色妞色视频一区二区三区四区| 99热这里精品| 黄色精品一区二区| 少妇高潮惨叫久久久久| 国产东北露脸精品视频| heyzo国产| 99精品视频在线观看播放| 风间由美久久久| 日韩一区二区三区免费| 欧美日韩国产成人高清视频| 天堂av在线资源| 欧美高清精品3d| 日韩三级视频在线| 中文字幕字幕中文在线中不卡视频| 久久黄色一级视频| 快she精品国产999| 精品免费久久久久久久| 国产不卡一区| 99久久99久久| 久久免费资源| 国产69精品久久久久9999| www黄在线观看| 亚洲福利在线观看| 国产丰满果冻videossex| 一本到不卡免费一区二区| 久久久久久久九九九九| 国产视频在线观看一区二区三区| 日韩精品xxx| 美女一区二区三区在线观看| 精品久久久久久无码中文野结衣| 三级电影一区| 欧洲亚洲一区二区三区四区五区| 免费观看亚洲视频大全| 国产精品一区二区三区成人| sm捆绑调教国产免费网站在线观看 | 加勒比av中文字幕| 久久久久久亚洲精品杨幂换脸| 大片在线观看网站免费收看| 日韩精品不卡一区二区| 久久天天狠狠| 成人涩涩网站| 亚洲xxx大片| 欧美大陆国产| 国产精品成人在线| sese综合| 97视频色精品| 日韩av激情| 久久99国产综合精品女同| a天堂中文在线88| 亚洲丝袜av一区| 婷婷国产在线| 亚洲精品一区二区三区在线观看 | 欧洲精品国产| 亚洲a级精品| 国产一区二区三区四区五区在线| 蜜桃精品视频| 99视频国产精品免费观看| 国产电影一区二区| 成人精品久久久| 国产欧美88| 91在线国产电影| 国产成年精品| 99视频在线播放| 日韩精品一级| 成人综合av网| 国产精品videossex| 国产伦精品一区二区三区免费视频| 婷婷视频一区二区三区| 成人18视频| 精品亚洲自拍| 免费看污久久久| 少妇精品久久久一区二区| 欧美激情第一页在线观看| 91看片淫黄大片一级在线观看| 中文字幕久精品免| 国产精品传媒精东影业在线| 亚洲欧美成人一区| 久久精品久久久| 大片在线观看网站免费收看| 极品尤物久久久av免费看| 131美女爱做视频| 性感少妇一区| 欧美婷婷精品激情| 久久国产生活片100| 香蕉视频xxx| 国产白丝网站精品污在线入口| 农村末发育av片一区二区| 成人av在线影院| 中文字幕高清视频| 国产精品每日更新在线播放网址| 999久久久国产| 亚洲黄色尤物视频| 国产精品第9页| 欧美在线高清视频| 国产视频在线观看视频| 欧美一级日韩免费不卡| 视频二区在线观看| 伊人av综合网| 中日韩高清电影网| 欧美一级高清免费| 99精品在免费线偷拍| 97中文在线观看| 亚洲资源网你懂的| 三年中国中文在线观看免费播放| 狠久久av成人天堂| 无码少妇一区二区三区芒果| 国产一区二区中文字幕| 一起草在线视频| 国产精品天干天干在线综合| 青青草偷拍视频| 在线亚洲高清视频| 精品人妻午夜一区二区三区四区| 亚洲精品国精品久久99热一| se在线电影| 久久久综合av| 日韩在线你懂得| 九九九九九九精品| 国产精品久久久久久麻豆一区软件 | 成人免费不卡视频| 乐播av一区二区三区| 一区二区三区日韩精品视频| 天堂网中文字幕| 欧美成人一区二区三区片免费| 欧美美女搞黄| 久久久欧美一区二区| 久久久免费人体| 麻豆视频成人| 欧美午夜视频| 一级做a爱视频| 国产色一区二区| 日本熟妇成熟毛茸茸| 7777女厕盗摄久久久| 国产在线一二三区| 91国自产精品中文字幕亚洲| 欧美国产中文高清| 亚洲高清在线观看一区| 亚洲永久免费精品| 国产精品偷伦视频免费观看了| 国产精品美女久久久久aⅴ国产馆| 亚洲第一在线播放| 亚洲精品一区二区三区蜜桃下载| 九色porny丨首页在线| 国产精品高精视频免费| 欧美三级午夜理伦三级在线观看| 欧美精品久久96人妻无码| 免费成人美女在线观看| 美女洗澡无遮挡| 欧美午夜精品久久久久久人妖| 丰满肥臀噗嗤啊x99av| 欧美大胆在线视频| 亚洲久草在线| 亚洲一区bb| 乱一区二区av| 日本美女bbw| 欧美午夜精品久久久久久超碰| 日本一二三区在线视频| 韩国美女主播一区| xxxx日韩| 欧美成人精品免费| 丁香六月久久综合狠狠色| 丝袜 亚洲 另类 欧美 重口| 欧美丰满嫩嫩电影| 毛片激情在线观看| 成人国产精品av| 91精品国产91久久久久久密臀| 成人性生交免费看| 国产精品不卡在线| 91丨九色丨蝌蚪丨对白| www.日本久久久久com.| 亚洲欧洲日韩精品在线| 国产成年人在线观看| 狠狠色丁香婷综合久久| 久久久精品少妇| 欧美一区日韩一区| 人人超在线公开视频| 国产精品二区在线观看| 亚洲国产一区二区精品专区| 日韩精品视频一区二区| 天天综合色天天综合| 欧美高清电影在线| 国产国语刺激对白av不卡| 日韩成人激情| 成人免费黄色av| 亚洲观看高清完整版在线观看| 亚洲人妻一区二区| 国产va免费精品高清在线| 波多野结衣一区| 男女视频在线看| 91视视频在线观看入口直接观看www | 欧美福利在线播放网址导航| 91视频最新入口| 欧美激情在线一区二区三区| 一级全黄裸体免费视频| 精品中文字幕在线观看| 日韩高清影视在线观看| 一道本视频在线观看| 夜夜爽夜夜爽精品视频| 五月婷婷六月丁香| 国产美女精彩久久| 亚洲视频精品| 成人av.网址在线网站| 在线观看免费观看在线| 亚洲美女视频网站| 欧美性aaa| 久久艹国产精品| 国产亚洲欧美色| 精品人妻久久久久一区二区三区| 91高清视频免费| 欧美激情黄色片| 香港三日本8a三级少妇三级99| 日本高清视频一区二区| av在线免费网站| 免费看成人午夜电影| 国产一区二区福利视频| 亚洲天堂视频网站|