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

MySQL連接配置文件密碼加密及其在多種連接池上的應用

數據庫 MySQL
為了安全,連接數據庫的配置文件中,如密碼等信息需要采用密文的形式存放。本文將給出多種連接池數據庫密碼密文存放的實現~

MySQL連接配置文件密碼加密及其在多種連接池上的應用

為了安全,連接數據庫的配置文件中,如密碼等信息需要采用密文的形式存放。

本文將給出多種連接池數據庫密碼密文存放的實現~

如何配置數據庫密碼加密訪問數據庫?

將配置文件用戶相關的信息(例如:密碼)進行加密使其以密文形式存在,進行初始化連接池的時候進行解密操作,達到成功創建連接池的目的。

接下來,我們完成如下幾個連接池采用數據庫密文存儲的實現:

  •     DBCP連接池
  •     C3P0連接池
  •     Druid連接池

DBCP連接池

數據庫屬性文件database.properties

配置數據庫屬性文件, 配置數據庫連接的密碼(jdbc.password)設置為加密后的值,該值可以采用AES、DES、3DES等對稱加密方式實現,也可以采用RSA的加密算法存儲~

 

  1. # jdbc.driverClassName 
  2. jdbc.driverClassName=com.mysql.jdbc.Driver 
  3.  
  4. Database URL 
  5. jdbc.url=jdbc:mysql://127.0.0.1:3306/abc?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull 
  6. jdbc.username=abc 
  7. jdbc.password=YpIADNvyi+/X2O33wS5E9SaEVKZgKuS70X8kgxgioEJ7+7KccS8aVmFIWndJ83NsUebDkb+w94HM3xCyjnjg4Q== 
  8.  
  9. Time to wait for an open connection before timing out 
  10. # (in milliseconds) 
  11. cpool.checkoutTimeout=5000 
  12.  
  13. Connection pool size 
  14. cpool.minPoolSize=10 
  15. cpool.maxPoolSize=50 
  16.  
  17. # How long to keep unused connections around(in seconds) 
  18. # Note: MySQL times out idle connections after 8 hours(28,800 seconds) 
  19. # so ensure this value is below MySQL idle timeout 
  20. cpool.maxIdleTime=25200 
  21.  
  22. # How long to hang on to excess unused connections after traffic spike 
  23. # (in seconds) 
  24. cpool.maxIdleTimeExcessConnections=1800 
  25.  
  26. # Acquiring new connections is slow, so eagerly retrieve extra connections 
  27. when current pool size is reached 
  28. cpool.acquireIncrement=10 

自定義CustomDataSource

如果采用DBCP連接池,那么,我們可以采用自定義連接池,繼承org.apache.commons.dbcp.BasicDataSource,然后重寫setPassword(String password)方法即可~

  1. import org.apache.commons.codec.binary.Base64; 
  2.  
  3. /** 
  4.  * @Type CustomDataSource.java 
  5.  * @Desc  
  6.  * @author wangmengjun 
  7.  * @date 2017年12月12日 下午8:50:49 
  8.  * @version  
  9.  */ 
  10. public class CustomDataSource extends org.apache.commons.dbcp.BasicDataSource { 
  11.  
  12.     public CustomDataSource() { 
  13.         super(); 
  14.     } 
  15.  
  16.     @Override 
  17.     public void setPassword(String password) { 
  18.         try { 
  19.             String decodePassword =  new String(Base64.decodeBase64(password.getBytes())); 
  20.             this.password =decodePassword; 
  21.         } catch (Exception e) { 
  22.         } 
  23.     } 
  24.  

上述自定義DataSource示例中,采用Base64來完成簡單的加解密~

配置文件配置dataSource的地方,將org.apache.commons.dbcp.BasicDataSource改寫成自定義連接池類名即可(如:com.xxx.datasource.CustomDataSource)~

  1. <bean id="dataSource" class="com.xxx.datasource.CustomDataSource" 
  2.         destroy-method="close"
  3.         <property name="driverClassName" value="${jdbc.driverClassName}" /> 
  4.         <property name="url" value="${jdbc.url}" /> 
  5.         <property name="username" value="${jdbc.username}" /> 
  6.         <property name="password" value="${jdbc.password}" /> 
  7.         <!-- 可同時連接的最大的連接數 --> 
  8.         <property name="maxActive" value="60" /> 
  9.         <!-- 最大的空閑的連接數 --> 
  10.         <property name="maxIdle" value="60" /> 
  11.         <!-- 最小的空閑的連接數,低于這個數量會被創建新的連接,默認為0 --> 
  12.         <property name="minIdle" value="5" /> 
  13.         <!-- 連接池啟動時創建的初始化連接數量,默認值為0 --> 
  14.         <property name="initialSize" value="1" /> 
  15.         <!-- 等待連接超時時間,毫秒,默認為無限 --> 
  16.         <property name="maxWait" value="30000" /> 
  17.     </bean> 

經過上述幾個步驟,就可以采用密文配置數據庫密碼。

C3P0連接池

數據庫屬性文件database.properties

屬性配置文件內容和上述DBCP連接池示例中的一致~

如果采用的C3P0連接池,那么,我們要做的是在配置com.mchange.v2.c3p0.ComboPooledDataSource的地方,增加properties屬性,編寫一個PropertiesFactory類,實現password的解密操作即可~

  • 編寫CustomDatasourcePropertiesFactory類
  1. import java.util.Properties; 
  2.  
  3. import org.apache.commons.codec.binary.Base64; 
  4. import org.slf4j.Logger; 
  5. import org.slf4j.LoggerFactory; 
  6.  
  7. /** 
  8.  * @Type CustomDatasourcePropertiesFactory.java 
  9.  * @Desc  
  10.  * @author wangmengjun 
  11.  * @date 2017年12月12日 下午9:11:06 
  12.  * @version  
  13.  */ 
  14. public class CustomDatasourcePropertiesFactory { 
  15.  
  16.     private static final String PASSWORD_PROPERTY = "password"
  17.  
  18.     private static final Logger logger = LoggerFactory 
  19.             .getLogger(CustomDatasourcePropertiesFactory.class); 
  20.  
  21.     public static Properties getProperties(String password) throws Exception { 
  22.         Properties properties = new Properties(); 
  23.         try { 
  24.             /** 
  25.              * 解密密碼 
  26.              */ 
  27.             String decodePassword = new String(Base64.decodeBase64(password.getBytes())); 
  28.             properties.setProperty(PASSWORD_PROPERTY, decodePassword); 
  29.         } catch (Exception e) { 
  30.             logger.error("CustomDatasourcePropertiesFactory#getProperties" + e.getMessage(), e); 
  31.         } 
  32.         return properties; 
  33.     } 

采用Base64來完成密碼密文解密。

  • 為ComboPooledDataSource配置名為properties的屬性
  1. <property name="properties"
  2.             <bean class="com.xxx.datasource.CustomDatasourcePropertiesFactory" 
  3.                 factory-method="getProperties"
  4.                 <constructor-arg type="java.lang.String"
  5.                     <value>${jdbc.password}</value> 
  6.                 </constructor-arg> 
  7.             </bean> 
  8.         </property> 

完整示例如下:

  1. <!-- 配置數據源-C3PO --> 
  2.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
  3.         destroy-method="close"
  4.         <property name="properties"
  5.             <bean class="com.xxx.datasource.CustomDatasourcePropertiesFactory" 
  6.                 factory-method="getProperties"
  7.                 <constructor-arg type="java.lang.String"
  8.                     <value>${jdbc.password}</value> 
  9.                 </constructor-arg> 
  10.             </bean> 
  11.         </property> 
  12.         <property name="driverClass" value="${jdbc.driverClassName}" /> 
  13.         <property name="jdbcUrl" value="${jdbc.url}" /> 
  14.         <property name="user" value="${jdbc.username}" /> 
  15.         <!-- <property name="password" value="${jdbc.password}" /> --> 
  16.         <property name="autoCommitOnClose" value="false" /> 
  17.         <property name="maxIdleTime" value="${cpool.maxIdleTime}" /> 
  18.         <property name="checkoutTimeout" value="${cpool.checkoutTimeout}" /> 
  19.         <property name="initialPoolSize" value="${cpool.minPoolSize}" /> 
  20.         <property name="minPoolSize" value="${cpool.minPoolSize}" /> 
  21.         <property name="maxPoolSize" value="${cpool.maxPoolSize}" /> 
  22.         <property name="acquireIncrement" value="${cpool.acquireIncrement}" /> 
  23.         <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}" /> 
  24.     </bean> 

Druid連接池

數據庫連接屬性文件

  1. username=abc 
  2. password=YpIADNvyi+/X2O33wS5E9SaEVKZgKuS70X8kgxgioEJ7+7KccS8aVmFIWndJ83NsUebDkb+w94HM3xCyjnjg4Q== 
  3. url=jdbc:mysql://127.0.0.1:3306/InIot?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull 
  4. driver=com.mysql.jdbc.Driver 
  5. initialSize=5 
  6. minIdle=5 
  7. maxActive=20 
  8. maxWait=60000 
  9. timeBetweenEvictionRunsMillis=60000 
  10. minEvictableIdleTimeMillis=30000 
  11. validationQuery=SELECT 1 
  12. testWhileIdle=true 
  13. testOnBorrow=true 
  14. testOnReturn=true 
  15. filters=stat,log4j 
  16. removeAbandoned=true 
  17. removeAbandonedTimeout=1200 
  18. logAbandoned=true 

實現密文密碼配置

在Druid連接池中密文采用RSA的方式進行,com.alibaba.druid.filter.config.ConfigTools工具類提供了RSA的加解密功能,經過如下2個步驟,能成密文密碼配置的功能~

  • 產生一個密文

采用com.alibaba.druid.filter.config.ConfigTools完成RSA的加解密功能

ConfigTools的部分代碼如下:

  1. public class ConfigTools { 
  2.  
  3.     private static final String DEFAULT_PRIVATE_KEY_STRING = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAocbCrurZGbC5GArEHKlAfDSZi7gFBnd4yxOt0rwTqKBFzGyhtQLu5PRKjEiOXVa95aeIIBJ6OhC2f8FjqFUpawIDAQABAkAPejKaBYHrwUqUEEOe8lpnB6lBAsQIUFnQI/vXU4MV+MhIzW0BLVZCiarIQqUXeOhThVWXKFt8GxCykrrUsQ6BAiEA4vMVxEHBovz1di3aozzFvSMdsjTcYRRo82hS5Ru2/OECIQC2fAPoXixVTVY7bNMeuxCP4954ZkXp7fEPDINCjcQDywIgcc8XLkkPcs3Jxk7uYofaXaPbg39wuJpEmzPIxi3k0OECIGubmdpOnin3HuCP/bbjbJLNNoUdGiEmFL5hDI4UdwAdAiEAtcAwbm08bKN7pwwvyqaCBC//VnEWaq39DCzxr+Z2EIk="
  4.     public static final String DEFAULT_PUBLIC_KEY_STRING = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKHGwq7q2RmwuRgKxBypQHw0mYu4BQZ3eMsTrdK8E6igRcxsobUC7uT0SoxIjl1WveWniCASejoQtn/BY6hVKWsCAwEAAQ=="
  5.  
  6.     public static void main(String[] args) throws Exception { 
  7.         String password = args[0]; 
  8.         String[] arr = genKeyPair(512); 
  9.         System.out.println("privateKey:" + arr[0]); 
  10.         System.out.println("publicKey:" + arr[1]); 
  11.         System.out.println("password:" + encrypt(arr[0], password)); 
  12.     } 
  13.  
  14.     public static String decrypt(String cipherText) throws Exception { 
  15.         return decrypt((String) null, cipherText); 
  16.     } 
  17.  
  18.     public static String decrypt(String publicKeyText, String cipherText) 
  19.             throws Exception { 
  20.         PublicKey publicKey = getPublicKey(publicKeyText); 
  21.  
  22.         return decrypt(publicKey, cipherText); 
  23.     } 
  24.  
  25. ... ...  
  26.  

測試一下:

  1. import com.alibaba.druid.filter.config.ConfigTools; 
  2.  
  3. /** 
  4.  * @Type ConfigToolsTest.java 
  5.  * @Desc  
  6.  * @author wangmengjun 
  7.  * @date 2017年12月12日 下午1:09:38 
  8.  * @version  
  9.  */ 
  10. public class ConfigToolsTest { 
  11.  
  12.     public static void main(String[] args) throws Exception { 
  13.        String password = "abc123123"
  14.        String encodePassword =  ConfigTools.encrypt(password); 
  15.        System.out.println("明文密碼: " + encodePassword); 
  16.        System.out.println("密文密碼: " + ConfigTools.decrypt(encodePassword)); 
  17.     } 

輸出:

  1. 明文密碼: TcrvCxmsd2588abZpfT8DE4C1GO3rbt6S99arh1yWJC/pGjhN3vzGN182j65Ei65M00PjR+uvMC/hN12t4CxHg== 
  2.  
  3. 密文密碼: abc123123 

另外,也可以采用命令,獲取RSA公鑰、密鑰和密碼~

  1. java -cp druid-1.0.31.jar com.alibaba.druid.filter.config.ConfigTools you_password 

如:

  1. F:\>java -cp druid-1.0.31.jar com.alibaba.druid.filter.config.ConfigTools abc123123 
  2.  
  3. privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAzvPye2JYkSLqekOHPjNWdxYsfXP2XXAsJYR2Z1zukYlchouhvYvQhNrA9r7vxtvCFZKpWbAMC7YfKM4vvyz5DwIDAQABAkAgwlDR4yFt5/8B14qi9/Fp7GKigSawZ781OSCdAALrmm+9WrPsck9klZegUnUc5ewnjC3mBoqqd5aTrRH0EZtRAiEA9RfJ4yOjTEQtl2GXUWy2uP1evxyp8hbOxPYj1TDZDasCIQDYKaZrjySu7AJ9leScDGLmUBzhWX2FeXZ0IIMHEeq2LQIhAJA6TX2yrRfmTwX0Uf2CggxeXXENRxzFOyxAxFlig3g9AiAhuAWEu7R+MMSGsI4TpX777D1FDb+dxX+rx7KItMvHFQIgaHGt2T/Qw+qJ9+GIi9/qQkUhKUK59vDYFB5j0mmkJRc= 
  4.  
  5. publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM7z8ntiWJEi6npDhz4zVncWLH1z9l1wLCWEdmdc7pGJXIaLob2L0ITawPa+78bbwhWSqVmwDAu2HyjOL78s+Q8CAwEAAQ== 
  6.  
  7. password:zctG01uijEcWQ34N9ishfOkuQtMBucDApSeD+Jrg9qOitMavrrErhrQFeBkdlf4KI7b8YCUn2O6TWa6Z6fVQQg== 
  8. F:\>
  • 配置connectionProperties屬性
  1. <!-- config.decrypt=true --> 
  2.         <property name="filters" value="config" /> 
  3.         <property name="connectionProperties" value="config.decrypt=true" /> 

詳細的數據源配置如下:

  1. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
  2.         <property name="driverClassName" value="${driver}" /> 
  3.         <property name="url" value="${url}" /> 
  4.         <property name="username" value="${username}" /> 
  5.         <property name="password" value="${password}" /> 
  6.         <!-- config.decrypt=true --> 
  7.         <property name="filters" value="config" /> 
  8.         <property name="connectionProperties" value="config.decrypt=true" /> 
  9.         <!-- 初始化連接大小 --> 
  10.         <property name="initialSize" value="${initialSize}" /> 
  11.         <!-- 連接池最大使用連接數量 --> 
  12.         <property name="maxActive" value="${maxActive}" /> 
  13.         <!-- 連接池最大空閑 這個參數已經被棄用 --> 
  14.         <property name="maxIdle" value="${maxIdle}"></property> 
  15.         <!-- 連接池最小空閑 --> 
  16.         <property name="minIdle" value="${minIdle}"></property> 
  17.         <!-- 獲取連接最大等待時間 --> 
  18.         <property name="maxWait" value="${maxWait}"></property> 
  19.         <property name="validationQuery" value="${validationQuery}" /> 
  20.         <property name="testWhileIdle" value="${testWhileIdle}" /> 
  21.         <property name="testOnBorrow" value="${testOnBorrow}" /> 
  22.         <property name="testOnReturn" value="${testOnReturn}" /> 
  23.         <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 --> 
  24.         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /> 
  25.         <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --> 
  26.         <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /> 
  27.         <!-- 關閉長時間不使用的連接 打開removeAbandoned功能 --> 
  28.         <property name="removeAbandoned" value="${removeAbandoned}" /> 
  29.         <!-- 1200秒,也就是20分鐘 --> 
  30.         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" /> 
  31.         <!-- 關閉abanded連接時輸出錯誤日志 --> 
  32.         <property name="logAbandoned" value="${logAbandoned}" /> 
  33.     </bean> 

可以從Druid官網獲取更多的信息。

【官網】https://github.com/alibaba/druid/wiki/使用ConfigFilter

至此,三種數據庫連接池,包括DBCP、C3P0以及Druid的密碼配置就完成了~

回顧一下:

如何配置數據庫密碼加密訪問數據庫 ?

將配置文件用戶相關的信息(例如:密碼)進行加密使其以密文形式存在,進行初始化連接池的時候進行解密操作,達到成功創建連接池的目的。

 

 

責任編輯:龐桂玉 來源: 王孟君的博客
相關推薦

2009-07-22 11:45:43

2011-05-13 09:34:51

TomcatMysql連接池

2010-05-17 16:38:08

MySQL 連接池

2011-06-01 13:54:10

MySQL

2009-06-17 09:59:46

Hibernate 連

2009-09-22 16:04:50

Hibernate連接

2009-06-17 16:22:45

Hibernate連接

2009-07-09 17:36:44

JDBC連接池配置

2009-06-16 09:25:31

JBoss配置

2021-03-24 09:06:01

MySQL長連接短連接

2009-05-18 17:16:50

2023-03-03 09:55:40

MySQL高可用

2019-12-30 15:30:13

連接池請求PHP

2010-05-21 09:48:30

java jsp to

2023-11-28 08:01:25

2010-03-18 14:39:55

Python數據庫連接

2010-06-12 13:04:03

MySQL連接池

2010-11-08 16:46:57

2022-12-09 18:06:21

2022-02-28 07:37:02

Java配置參數
點贊
收藏

51CTO技術棧公眾號

国产三级视频网站| 免费成人午夜视频| 999国产精品视频免费| 伊人久久亚洲美女图片| 国产偷国产偷亚洲清高网站| 一道本视频在线观看| 在线免费观看污| 91免费看视频| 91在线观看免费| 久久黄色精品视频| 影视一区二区| 亚洲女人天堂av| 男插女视频网站| 怡红院成人在线| 亚洲综合在线观看视频| 日本一区二区三区视频免费看| 精品国产无码AV| 久久人人97超碰国产公开结果| 欧美乱大交xxxxx| 成人在线一级片| 91精品国产自产在线丝袜啪 | 国产午夜大地久久| 免费a在线看| 久久综合狠狠综合久久综合88| 99爱精品视频| 国产精品久久久久久69| 亚洲尤物影院| 久久久久亚洲精品成人网小说| 少妇的滋味中文字幕bd| 神马日本精品| 精品久久久久久无| 色男人天堂av| 成人豆花视频| 欧美日韩在线播放一区| 91av在线免费播放| 天堂网在线最新版www中文网| 一区二区三区不卡视频| 在线免费观看成人网| 经典三级在线| 久久青草欧美一区二区三区| 国产精品一区二区三区精品| 北条麻妃一二三区| 国产一区二区三区av电影| 国产精品亚洲网站| 国产一级精品毛片| 日韩精品电影一区亚洲| 日本久久久久久久久久久| 国产午夜精品一区二区理论影院| 亚洲中无吗在线| 久久亚洲欧美日韩精品专区| 天天操天天摸天天舔| 日韩一区三区| 中文字幕亚洲二区| 成人欧美一区二区三区黑人一| 欧美日韩水蜜桃| 亚洲欧美激情精品一区二区| 成人乱码一区二区三区av| 日本妇女一区| 亚洲欧美综合区自拍另类| 搡老熟女老女人一区二区| 欧美男人操女人视频| 日韩av网址在线| 一区二区精品免费| 精品国产乱码| 久久国产一区二区三区| 亚洲不卡在线播放| 国产一区二区三区四区三区四 | 国产大片免费看| 99re66热这里只有精品8| 俺也去精品视频在线观看| 疯狂试爱三2浴室激情视频| 亚洲有吗中文字幕| 高清在线视频日韩欧美| 制服.丝袜.亚洲.中文.综合懂色| 亚洲欧美高清| 国产欧美一区二区三区视频| 国产日产亚洲系列最新| 成人福利视频网站| 欧美大陆一区二区| 午夜免费视频在线国产| 亚洲欧美成aⅴ人在线观看| 国产日韩亚洲欧美在线| 欧美无毛视频| 欧美一卡2卡3卡4卡| 精品久久久久一区二区| 蜜乳av综合| 久久精品中文字幕电影| 在线看成人av| 奇米精品一区二区三区在线观看 | 国产欧美久久久| 91亚洲国产成人精品一区二三| 日韩一本精品| 午夜在线激情影院| 色久综合一二码| 久久精品一卡二卡| 亚洲精品国产动漫| 久久影院免费观看| 中文字幕视频网| 美女在线视频一区| 精品国产乱码久久久久久久软件| av在线免费播放网站| 亚洲一区二区精品视频| 91激情视频在线| 成人性生交大片免费看96| 国产亚洲人成a一在线v站| 免费日韩在线视频| 久久av资源网| 欧美日韩亚洲一区二区三区四区| 伊人影院在线视频| 欧美午夜免费电影| 日韩一级视频在线观看| 欧美性色综合| 成人av番号网| 欧美日本网站| 婷婷久久综合九色综合伊人色| 欧美三级午夜理伦三级富婆| 欧美一区 二区| 伦理中文字幕亚洲| 在线观看亚洲一区二区| 久久久久免费观看| av在线播放天堂| 国产亚洲高清一区| 在线成人中文字幕| 国产视频1区2区| 成人激情小说乱人伦| 九九久久九九久久| 日韩电影精品| 日韩亚洲欧美中文高清在线| 日本视频网站在线观看| 成人精品一区二区三区四区| 亚洲小说欧美另类激情| 未满十八勿进黄网站一区不卡| 亚洲欧美变态国产另类| 国产成人精品a视频一区| 国产美女精品人人做人人爽| 亚洲一区在线免费| 高清在线一区| 中文在线资源观看视频网站免费不卡| 国产一级免费视频| 久久综合九色综合欧美98| 青青青免费在线| 美女网站色精品尤物极品姐弟| 欧美激情视频在线免费观看 欧美视频免费一 | 五月婷婷激情综合网| 国产成人av免费观看| 一区二区电影在线观看| 亚洲专区国产精品| 一色桃子av在线| 精品卡一卡二卡三卡四在线| 久久免费视频播放| 成人av免费网站| 亚洲理论电影在线观看| 国产成人福利av| 69国产精品成人在线播放| 天堂成人在线观看| 色婷婷综合久久久中文一区二区| 久久久久久久久久久国产精品| 久久精品一本| 一区二区三区电影| 精品视频国内| 久久久久亚洲精品| 欧美视频免费一区二区三区| 在线观看亚洲一区| 日韩欧美国产成人精品免费| 国产精品123| 欧美精品久久久久久久自慰 | 国产精品1区2区3区| 日韩久久久久久久久久久久| 婷婷综合电影| 国产精品久久久久久中文字| 麻豆传媒视频在线观看| 精品国产露脸精彩对白| 中国一级免费毛片| 国产精品丝袜一区| 亚洲综合中文网| 国产精品亚洲欧美| 亚洲一卡二卡| av成人综合| 国产999精品| 亚洲七七久久综合桃花剧情介绍| 亚洲韩国欧洲国产日产av| 国产在线观看第一页| 亚洲男人的天堂av| av网站免费在线播放| 蜜桃免费网站一区二区三区| 成人免费在线视频播放| 美女毛片一区二区三区四区最新中文字幕亚洲| 国产精品免费视频xxxx| 老司机福利在线视频| 亚洲电影在线观看| 中文字幕有码视频| 亚洲va欧美va国产va天堂影院| 欧美激情亚洲色图| 国产999精品久久| 中文字幕国内自拍| 亚洲激精日韩激精欧美精品| 亚洲春色在线视频| 国产美女撒尿一区二区| 国产在线高清精品| 成人bbav| 欧美寡妇偷汉性猛交| 第一视频专区在线| 日韩av中文在线| 一区二区的视频| 欧美日韩在线看| 麻豆成人在线视频| 中文字幕亚洲不卡| 制服 丝袜 综合 日韩 欧美| 国产不卡免费视频| xxxx在线免费观看| 丝袜诱惑亚洲看片| 霍思燕三级露全乳照| 91精品国产91久久久久久黑人| 欧美日韩在线一二三| 黄色免费大全亚洲| 亚洲资源在线看| 中文成人在线| 国产精品久久久久久超碰| 国产高清中文字幕在线| 美乳少妇欧美精品| 午夜激情在线观看| 亚洲欧美综合区自拍另类| 天天射,天天干| 日韩精品在线一区二区| 国产又大又粗又硬| 一本色道综合亚洲| 日韩欧美高清在线观看| 一级女性全黄久久生活片免费| 娇小11一12╳yⅹ╳毛片| 国产午夜精品久久久久久免费视| 污片免费在线观看| 成人av网站在线观看免费| 男人添女人荫蒂国产| 国产麻豆日韩欧美久久| 四虎1515hh.com| 国产久卡久卡久卡久卡视频精品| 手机版av在线| 久久av老司机精品网站导航| 高清av免费看| 欧美aa在线视频| 国内国产精品天干天干| 精品一区二区综合| 超碰91在线播放| 国产精品一区二区在线观看网站| 国内自拍第二页| 国产精品影视网| 欧美人与性动交α欧美精品| 国产精品亚洲成人| 四川一级毛毛片| 粉嫩一区二区三区在线看 | 久久婷婷色综合| 精品夜夜澡人妻无码av| 久久久久久久久久久电影| 四虎影成人精品a片| 国产婷婷一区二区| 中文字幕求饶的少妇| 亚洲欧洲日本在线| 男人操女人的视频网站| 亚洲成av人片在线| 波多野结衣国产| 在线观看亚洲精品| 国产三级按摩推拿按摩| 精品蜜桃在线看| 台湾av在线二三区观看| 亚洲一二三在线| 男人的天堂在线视频免费观看 | 日本在线观看不卡| 日韩电影一区| 日韩精品一区二区在线视频| 亚洲国产一区二区三区高清| 最近免费中文字幕中文高清百度| 蜜臀av一级做a爰片久久| 午夜影院免费版| 成人黄色综合网站| 级毛片内射视频| 一区二区三区视频在线观看| 国产乱国产乱老熟| 欧美日韩美女一区二区| 亚洲第一天堂影院| 亚洲欧洲国产精品| 哥也色在线视频| 91高清视频免费观看| 欧美性aaa| 国产在线观看一区| 久久激情电影| 福利视频一二区| 精品一区二区综合| 亚洲色图14p| 日韩毛片视频在线看| av资源免费观看| 91麻豆精品国产综合久久久久久| 日本黄色三级视频| 在线看日韩欧美| 韩国成人二区| 51成人做爰www免费看网站| 免费av一区| 18禁裸男晨勃露j毛免费观看 | 国产精品免费小视频| 91久久偷偷做嫩草影院电| 视频一区二区在线观看| 一区久久精品| 亚洲欧美日韩一二三区| 国产色爱av资源综合区| 亚洲综合一二三| 日韩一区二区三区视频| 成年人视频免费在线观看| 国内精品一区二区三区四区| 日本免费一区二区三区等视频| 久精品国产欧美| 欧美日韩国产色综合一二三四| 亚洲少妇第一页| 91香蕉视频在线| 久久精品国产亚洲av无码娇色| 欧美欧美欧美欧美首页| 国产精品免费播放| 欧美一区深夜视频| 波多野结衣一区二区三区免费视频| 日本黄色播放器| 免费的成人av| 三上悠亚影音先锋| 日韩欧美在线国产| 亚洲欧洲精品视频| 午夜精品久久久久久久久久久久 | 激情五月激情综合网| 国产肥白大熟妇bbbb视频| 香蕉成人啪国产精品视频综合网| 精品久久在线观看| 久久久久北条麻妃免费看| 国产情侣一区二区三区| 日韩电影免费观看在| 久久蜜桃资源一区二区老牛| 中文乱码人妻一区二区三区视频| 亚洲一区中文在线| 精品人妻av一区二区三区| 久久韩国免费视频| 99热这里有精品| 国产盗摄视频在线观看| 久久成人18免费观看| 娇小11一12╳yⅹ╳毛片| 欧美日韩精品一区二区| 永久av在线| 国产日韩欧美在线看| 久久综合国产| 日本高清免费在线视频| 亚洲精品v日韩精品| www五月婷婷| 欧美精品电影免费在线观看| 国产精品欧美大片| 日本福利视频在线| 国产视频一区二区三区在线观看| 中文字幕精品视频在线观看| 一本一道久久a久久精品逆3p | 国产黄色片在线| 欧美日韩成人综合| av中文字幕在线播放| 999视频在线免费观看| 亚洲性色视频| 亚洲の无码国产の无码步美| 色8久久精品久久久久久蜜 | 久久久久国产视频| 日韩精选在线| 特级丰满少妇一级| 亚洲免费av高清| 欧美熟女一区二区| 日本精品视频在线| 国产精品成人av| 韩国三级在线播放| 欧美日韩国产精品专区| yw在线观看| 7777精品伊久久久大香线蕉语言| 亚洲片区在线| 国产18无套直看片| 日韩一级免费观看| 日本在线高清| 亚洲一区二区三区免费观看| 国产美女精品一区二区三区| 国产精品免费av一区二区| 永久免费毛片在线播放不卡| 国产一区二区| aⅴ在线免费观看| 亚洲欧洲99久久| 天堂成人在线| 91精品视频免费| 国产日韩视频| 韩国一级黄色录像| 精品亚洲国产成av人片传媒| 四虎地址8848精品| 日韩欧美国产综合在线| 国产精品欧美一区二区三区| 亚洲精品18p| 国产精品女主播视频| 国产精品chinese| 欧美激情久久久久久久| 欧美tickling网站挠脚心| 欧美va在线观看| 精品少妇人欧美激情在线观看| 国产精品网曝门| 亚洲av成人无码网天堂 | 欧美黄色录像| 五月激情五月婷婷|