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

SpringBoot + Sharding Sphere:輕松搞定數(shù)據(jù)加解密,支持字段級!

開發(fā) 前端
當需要對某些數(shù)據(jù)表字段進行脫敏處理的時候,可以采用 Apache ShardingSphere 框架快速實現(xiàn)。但是有個細節(jié)很容易遺漏,那就是字段類型,例如salary字段,根據(jù)常規(guī),很容易想到使用數(shù)字類型,但是卻不是,要知道加密之后的數(shù)據(jù)都是一串亂碼,數(shù)字類型肯定是無法存儲字符串的,因此在定義的時候,這個要留心一下。

01、故事背景

在實際的軟件系統(tǒng)開發(fā)過程中,由于業(yè)務的需求,在代碼層面實現(xiàn)數(shù)據(jù)的脫敏還是遠遠不夠的,往往還需要在數(shù)據(jù)庫層面針對某些關鍵性的敏感信息,例如:身份證號、銀行卡號、手機號、工資等信息進行加密存儲,實現(xiàn)真正意義的數(shù)據(jù)混淆脫敏,以滿足信息安全的需要。

那在實際的業(yè)務開發(fā)過程中,我們如何快速實現(xiàn)呢?

今天通過這篇文章,我們一起來了解一下如何在 Spring Boot 中快速實現(xiàn)數(shù)據(jù)的加解密功能。廢話不多說了,直接擼代碼!

02、方案實踐

在 Spring Boot 生態(tài)中,有一個非常厲害的開源框架:Apache ShardingSphere。

它是一款分布式 SQL 事務和查詢引擎,可通過數(shù)據(jù)分片、彈性伸縮、加密等能力對任意數(shù)據(jù)庫進行增強。我們可以利用它的數(shù)據(jù)脫敏模塊,快速實現(xiàn) SQL 字段的加解密操作。

如果當前項目是采用 Spring Boot 開發(fā)的,可以實現(xiàn)無縫集成,對原系統(tǒng)的改造會非常少。

下面以用戶表為例,一起了解一下ShardingSphere的數(shù)據(jù)加解密的實現(xiàn)過程!

2.1、創(chuàng)建用戶表

首先,在數(shù)據(jù)庫中創(chuàng)建一張用戶表,示例腳本如下!

CREATE TABLE user (
  id bigint(20) NOT NULL COMMENT '用戶ID',
  email varchar(255)  NOT NULL DEFAULT '' COMMENT '郵件',
  nick_name varchar(255)  DEFAULT NULL COMMENT '昵稱',
  pass_word varchar(255)  NOT NULL DEFAULT '' COMMENT '二次密碼',
  reg_time varchar(255)  NOT NULL DEFAULT '' COMMENT '注冊時間',
  user_name varchar(255)  NOT NULL DEFAULT '' COMMENT '用戶名',
  salary varchar(255) DEFAULT NULL COMMENT '基本工資',
  PRIMARY KEY (id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

2.2、創(chuàng)建 springboot 項目并添加依賴包

接著,創(chuàng)建一個 Spring Boot 項目,并添加相關的依賴包,示例如下:

<dependencies>
    <!--spring boot核心-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!--spring boot 測試-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!--springmvc web-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--mysql 數(shù)據(jù)源-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--mybatis 支持-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency> 
    <!--shardingsphere數(shù)據(jù)分片、脫敏工具-->
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
        <version>4.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>sharding-jdbc-spring-namespace</artifactId>
        <version>4.1.0</version>
    </dependency>
</dependencies>

2.3、添加相關配置

在application.properties文件中,添加shardingsphere相關配置,即可實現(xiàn)針對某個表進行脫敏

server.port=8080

logging.path=log

#shardingsphere數(shù)據(jù)源集成
spring.shardingsphere.datasource.name=ds
spring.shardingsphere.datasource.ds.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.ds.driver-class-name=com.mysql.cj.jdbc.Driver
spring.shardingsphere.datasource.ds.jdbc-url=jdbc:mysql://127.0.0.1:3306/test
spring.shardingsphere.datasource.ds.username=xxxx
spring.shardingsphere.datasource.ds.password=xxxx

#加密方式、密鑰配置
spring.shardingsphere.encrypt.encryptors.encryptor_aes.type=aes
spring.shardingsphere.encrypt.encryptors.encryptor_aes.props.aes.key.value=hkiqAXU6Ur5fixGHaO4Lb2V2ggausYwW
#plainColumn表示明文列,cipherColumn表示脫敏列
spring.shardingsphere.encrypt.tables.user.columns.salary.plainColumn=
spring.shardingsphere.encrypt.tables.user.columns.salary.cipherColumn=salary
#spring.shardingsphere.encrypt.tables.user.columns.pass_word.assistedQueryColumn=
spring.shardingsphere.encrypt.tables.user.columns.salary.encryptor=encryptor_aes

#sql打印
spring.shardingsphere.props.sql.show=true
spring.shardingsphere.props.query.with.cipher.column=true


#基于xml方法的配置
mybatis.mapper-locations=classpath:mapper/*.xml

其中有幾個的配置信息比較重要,spring.shardingsphere.encrypt.tables是指要脫敏的表,user是表名,salary表示user表中的真實列,其中plainColumn指的是明文列,cipherColumn指的是脫敏列,如果是新工程,只需要配置脫敏列即可!

配置示例如下!

# 用于告訴 ShardingSphere 數(shù)據(jù)表里哪個列用于存儲明文數(shù)據(jù)
spring.shardingsphere.encrypt.tables.user.columns.salary.plainColumn=
# 用于告訴 ShardingSphere 數(shù)據(jù)表里哪個列用于存儲密文數(shù)據(jù)
spring.shardingsphere.encrypt.tables.user.columns.salary.cipherColumn=salary
# 用于告訴 ShardingSphere 數(shù)據(jù)表里哪個列用于存儲輔助查詢數(shù)據(jù)
#spring.shardingsphere.encrypt.tables.user.columns.salary.assistedQueryColumn=
# 用于告訴 ShardingSphere 數(shù)據(jù)表里哪個列使用什么算法加解密
spring.shardingsphere.encrypt.tables.user.columns.salary.encryptor=encryptor_aes

2.4、編寫數(shù)據(jù)持久層

然后,編寫一個數(shù)據(jù)持久層,用于數(shù)據(jù)的存儲和查詢操作。

<mapper namespace="com.example.shardingsphere.mapper.UserMapperXml" >

    <resultMap id="BaseResultMap" type="com.example.shardingsphere.entity.UserEntity" >
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="email" property="email" jdbcType="VARCHAR" />
        <result column="nick_name" property="nickName" jdbcType="VARCHAR" />
        <result column="pass_word" property="passWord" jdbcType="VARCHAR" />
        <result column="reg_time" property="regTime" jdbcType="VARCHAR" />
        <result column="user_name" property="userName" jdbcType="VARCHAR" />
        <result column="salary" property="salary" jdbcType="VARCHAR" />
    </resultMap>

    <select id="findAll" resultMap="BaseResultMap">
        SELECT * FROM user
    </select>
    
    <insert id="insert" parameterType="com.example.shardingsphere.entity.UserEntity">
        INSERT INTO user(id,email,nick_name,pass_word,reg_time,user_name, salary)
        VALUES(#{id},#{email},#{nickName},#{passWord},#{regTime},#{userName}, #{salary})
    </insert>
</mapper>
public interface UserMapperXml {


    /**
     * 查詢所有的信息
     * @return
     */
    List<UserEntity> findAll();

    /**
     * 新增數(shù)據(jù)
     * @param user
     */
    void insert(UserEntity user);
}
public class UserEntity {

    private Long id;

    private String email;

    private String nickName;

    private String passWord;

    private String regTime;

    private String userName;

    private String salary;

    //省略set、get...

}

2.5、單元測試

最后,我們編寫一個單元測試,驗證一下代碼的正確性。

編寫啟用服務程序

@SpringBootApplication
@MapperScan("com.example.shardingsphere.mapper")
public class ShardingSphereApplication {

    public static void main(String[] args) {
        SpringApplication.run(ShardingSphereApplication.class, args);
    }
}

編寫單元測試

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = ShardingSphereApplication.class)
public class UserTest {

    @Autowired
    private UserMapperXml userMapperXml;

    @Test
    public void insert() throws Exception {
        UserEntity entity = new UserEntity();
        entity.setId(3l);
        entity.setEmail("123@123.com");
        entity.setNickName("阿三");
        entity.setPassWord("123");
        entity.setRegTime("2021-10-10 00:00:00");
        entity.setUserName("張三");
        entity.setSalary("2500");
        userMapperXml.insert(entity);
    }

    @Test
    public void query() throws Exception {
        List<UserEntity> dataList = userMapperXml.findAll();
        System.out.println(JSON.toJSONString(dataList));
    }
}

插入數(shù)據(jù)后,如下圖,數(shù)據(jù)庫存儲的數(shù)據(jù)已被加密!

我們繼續(xù)來看看,運行查詢服務,結果如下圖,數(shù)據(jù)被成功解密!

采用配置方式,最大的好處就是直接通過配置脫敏列就可以完成對某些數(shù)據(jù)表字段的脫敏,非常方便。

三、小結

當需要對某些數(shù)據(jù)表字段進行脫敏處理的時候,可以采用 Apache ShardingSphere 框架快速實現(xiàn)。

但是有個細節(jié)很容易遺漏,那就是字段類型,例如salary字段,根據(jù)常規(guī),很容易想到使用數(shù)字類型,但是卻不是,要知道加密之后的數(shù)據(jù)都是一串亂碼,數(shù)字類型肯定是無法存儲字符串的,因此在定義的時候,這個要留心一下。

希望以上的案例,能幫助到大家!

想要獲取項目源代碼的小伙伴,可以通過如下地址獲取!

https://gitee.com/pzblogs/spring-boot-example-demo
責任編輯:武曉燕 來源: 潘志的研發(fā)筆記
相關推薦

2024-08-29 08:58:30

JPA編寫數(shù)據(jù)操

2023-11-13 08:16:08

MySQL數(shù)據(jù)數(shù)據(jù)庫

2019-07-09 08:23:07

數(shù)據(jù)安全旅游網(wǎng)絡安全

2024-12-27 08:39:10

2024-09-09 16:50:21

2021-08-03 15:25:09

數(shù)據(jù)庫Sharding SpSQL

2016-04-29 10:02:39

2016-09-09 01:07:06

數(shù)據(jù)中心容量規(guī)劃數(shù)據(jù)中心

2019-03-05 10:16:54

數(shù)據(jù)分區(qū)表SQLserver

2023-03-30 08:11:52

Spring加解密連接池

2022-03-24 09:13:54

Mybatis加密解密

2025-06-09 07:35:00

NumPy數(shù)據(jù)分析數(shù)組

2025-07-02 08:00:00

防抖SpringBoot開發(fā)

2021-04-07 13:43:07

PythonDash數(shù)據(jù)庫

2012-11-05 09:31:19

桌面虛擬化

2011-08-01 14:36:06

加密RSA

2022-07-27 08:49:34

接口加密解密

2016-04-13 11:31:32

數(shù)據(jù)分析數(shù)據(jù)獲取大數(shù)據(jù)應用

2021-06-10 09:53:04

數(shù)據(jù)統(tǒng)計統(tǒng)計分析數(shù)據(jù)

2009-09-13 20:28:38

Linq插入數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號

日本久久伊人| 9191在线观看| 久久精品日产第一区二区 | 精品国产va久久久久久久| 欧美激情 亚洲a∨综合| 日韩精品久久久久久福利| 一区二区三区入口| 色爱综合区网| 欧美激情一区二区三区| 99久久精品久久久久久ai换脸| 91精品国产乱码久久久张津瑜| 精品日韩在线| 亚洲白虎美女被爆操| 久久久久久久片| 男女在线观看视频| 亚洲国产精品高清| 国模精品一区二区三区| 无码人妻精品一区二区三区蜜桃91 | 毛片网站在线免费观看| 91免费观看国产| av在线不卡一区| 亚洲系列在线观看| 毛片一区二区| 欧美精品激情在线观看| 九九热久久免费视频| 青草久久视频| 欧美一区二区网站| 天天爽人人爽夜夜爽| 九九色在线视频| 国产精品久久精品日日| 美女精品国产| 亚洲欧美黄色片| 经典一区二区三区| 国产成人综合精品| 狠狠躁夜夜躁人人爽天天高潮| 国产精品久久久久久久久久10秀| 亚洲理论在线a中文字幕| 影音先锋资源av| 久久久久久久久成人| 欧美日韩高清影院| 成年人在线观看视频免费| 深夜成人在线| 同产精品九九九| 国产资源在线免费观看| 先锋成人av| 亚洲精品亚洲人成人网| 正在播放久久| 日本在线免费中文字幕| 欧美激情综合五月色丁香小说| 久久精品女人的天堂av| 欧美一级特黄aaaaaa| 国产精品1区2区| 成人在线精品视频| 91午夜交换视频| 麻豆极品一区二区三区| 91精品国产综合久久久久久久久| 国产精品51麻豆cm传媒| 蜜臀久久99精品久久久画质超高清| 国产成人综合av| 中文字幕在线观看视频免费| 久久久噜噜噜| 国产福利精品视频| 亚洲天堂手机版| 久久国产乱子精品免费女| 国产成人亚洲综合青青| 亚洲婷婷久久综合| 久久精品国产在热久久| 亚洲影院色无极综合| av中文字幕免费| 国产精品一区一区三区| 亚洲影院高清在线| 日本精品一区二区在线观看| 91蜜桃在线免费视频| 日韩av一区二区三区在线| av在线第一页| 亚洲丝袜另类动漫二区| 隔壁人妻偷人bd中字| 美女91在线看| 精品视频在线免费观看| 国产精品嫩草影院8vv8| 视频精品二区| 日韩精品福利网站| 日韩影视一区二区三区| 91精品国产麻豆国产在线观看| 欧美老妇交乱视频| 少妇一级淫片免费放中国| 久久性天堂网| 亚洲影影院av| 偷拍自拍在线| 欧美国产激情一区二区三区蜜月| 色中文字幕在线观看| 波多野结衣中文在线| 91精品福利视频| 久久aaaa片一区二区| 美女网站色精品尤物极品姐弟| 亚洲欧美另类人妖| 国产高清视频免费在线观看| 91久久亚洲| 国产精品入口夜色视频大尺度| 国产成人精品无码高潮| 久久综合色之久久综合| 最新黄色av网站| 五月天av在线| 欧美一卡二卡在线观看| 亚洲精品乱码久久久久久久久久久久| 日韩一区电影| 97超级碰碰人国产在线观看| 国产又粗又猛又爽又黄视频| 91网站视频在线观看| 黄色一级视频播放| 欧美日韩123区| 欧美不卡一二三| 18啪啪污污免费网站| 99pao成人国产永久免费视频| 国产热re99久久6国产精品| 天天躁日日躁狠狠躁喷水| 1000部国产精品成人观看| 春日野结衣av| 综合欧美亚洲| 久久精品国产欧美激情| 99re这里只有精品在线| 成人午夜私人影院| 欧美性视频在线播放| 亚洲mmav| 亚洲精品视频二区| 国产精品a成v人在线播放| 精品一区二区三区视频| 日本一区二区视频| 色偷偷色偷偷色偷偷在线视频| 日韩午夜精品视频| 三级黄色在线观看| 麻豆国产91在线播放| 日韩欧美在线观看强乱免费| 免费在线小视频| 精品奇米国产一区二区三区| 黄色一级大片在线免费观看| 老汉av免费一区二区三区| 四虎永久国产精品| 日韩欧美一区二区三区在线观看| 亚洲精品理论电影| 亚洲精品77777| 风流少妇一区二区| 超碰人人爱人人| 美女精品久久| 欧美巨大黑人极品精男| 精品国产九九九| 亚洲猫色日本管| 97人人模人人爽人人澡| 自拍偷拍欧美| av一区二区三区免费| 日韩av毛片| 精品久久久久久综合日本欧美| 天堂网avav| 国产一区不卡精品| 91免费版看片| 菁菁伊人国产精品| 8090成年在线看片午夜| 欧美在线一卡| 色狠狠色噜噜噜综合网| 极品人妻videosss人妻| 奇米综合一区二区三区精品视频| 水蜜桃亚洲精品| 婷婷久久综合九色综合99蜜桃| 日韩在线视频导航| 国产青青草视频| 一区二区免费在线| 久久国产精品无码一级毛片 | 亚洲视频一区二区在线观看| 亚洲av无日韩毛片久久| 欧美精品日本| 精品不卡在线| 韩国成人在线| 久久国产精品电影| 少妇人妻偷人精品一区二区| 黑人巨大精品欧美一区二区免费| 四虎影成人精品a片| 奇米一区二区三区av| 中文字幕av日韩精品| 6080成人| 国产成人av网址| a级影片在线| 日韩精品中文在线观看| 在线视频免费观看一区| 亚洲免费资源在线播放| 黄色片视频免费观看| 奇米在线7777在线精品| 欧美一区二区三区综合| 日韩精品欧美大片| 91九色视频导航| www.51av欧美视频| 主播福利视频一区| 男人的天堂a在线| 在线精品视频一区二区三四| 男女性高潮免费网站| 91蜜桃视频在线| 91pony九色| 99精品免费网| 蜜臀在线免费观看| 亚洲三级网址| 亚洲最大av网站| 成人香蕉视频| 美女啪啪无遮挡免费久久网站| 无码国产精品高潮久久99| 欧美日韩精品综合在线| 国产精品一区二区6| 亚洲男帅同性gay1069| 中文字幕人妻一区二区三区在线视频| 国产成人精品网址| 成人午夜激情av| 亚洲国产一区二区精品专区| 亚洲欧美日韩不卡| 欧美日韩123| 国产伦精品一区二区三区视频孕妇| jizz亚洲女人高潮大叫| 国语对白做受69| 成人日批视频| 色av吧综合网| 国产亚洲依依| 亚洲精品美女久久| 精品国产乱码一区二区三| 欧美日韩高清一区二区三区| 国产午夜精品久久久久| 亚洲成人综合网站| 九九视频免费观看| 最新欧美精品一区二区三区| 美女脱光内衣内裤| 99九九99九九九视频精品| 免费欧美一级片| 国产一区欧美二区| 国产在线观看中文字幕| 日本欧美在线看| 亚洲人成色77777| 国产欧美日韩亚洲一区二区三区| 无码人妻精品一区二区蜜桃百度| 色天天综合网| 亚洲日本一区二区三区在线不卡| 国产精品欧美三级在线观看| 久久久久久久久久久久久9999| 成人三级毛片| 国产精品视频在线免费观看| 9l视频自拍九色9l视频成人| 99国产超薄丝袜足j在线观看 | 少妇精品无码一区二区免费视频| 91影院在线观看| 中文字幕精品视频在线| zzijzzij亚洲日本少妇熟睡| 美国黄色一级视频| 成人美女视频在线观看| 美女扒开腿免费视频| 成人av网站在线观看免费| 一级全黄裸体片| 福利91精品一区二区三区| 折磨小男生性器羞耻的故事| 成人福利在线看| 捆绑裸体绳奴bdsm亚洲| 99精品欧美一区| 无码国产69精品久久久久同性| 99久久久国产精品| 国产精品jizz| 中文字幕 久热精品 视频在线| 国产精品www爽爽爽| 国产精品免费av| 麻豆明星ai换脸视频| 一区二区三区加勒比av| 日韩av女优在线观看| 日韩欧美精品网站| 中文字幕乱码视频| 3d动漫精品啪啪1区2区免费 | 国产成a人亚洲精品| 美女搡bbb又爽又猛又黄www| 久久综合成人精品亚洲另类欧美| 久久av无码精品人妻系列试探| 中文字幕av一区二区三区高| 男的操女的网站| 亚洲成人精品在线观看| 一级片视频在线观看| 欧美日韩一区二区欧美激情| 99久久一区二区| 亚洲激情第一页| 国产精品免费播放| 久久人人爽亚洲精品天堂| 欧美xxxxhdvideosex| 国产91色在线|| 电影一区二区三区久久免费观看| 国产精品一级久久久| 国产欧美一区| 看全色黄大色大片| 国产日韩欧美一区在线 | 欧美天堂一区| 国产在线观看一区| 日韩午夜电影网| 欧美一级片免费播放| 日韩影院免费视频| 少妇极品熟妇人妻无码| 91色婷婷久久久久合中文| 天天色天天综合| 色综合久久久久综合体桃花网| 波多野结衣网站| 精品少妇一区二区三区在线播放 | 欧美日本中文字幕| 日韩欧美看国产| 99久久精品久久久久久ai换脸| 免费精品国产| 久无码久无码av无码| 蜜臀av性久久久久蜜臀aⅴ流畅| 最新中文字幕日本| 亚洲欧美综合色| 国产剧情在线视频| 欧美成人午夜电影| 日本高清视频在线观看| 国产91色在线|免| 久久超级碰碰| 成人高清dvd| 美女精品一区二区| 女~淫辱の触手3d动漫| 一区二区免费在线| 国产精品久久久久久久久久久久久久久久久久 | 一本久久a久久精品亚洲| 国产情侣自拍小视频| 中文字幕欧美日韩精品| 亚洲一二三四| 精品久久蜜桃| 国内一区二区三区| 三区视频在线观看| 中文文精品字幕一区二区| 国产欧美一区二区三区在线看蜜臂 | r级无码视频在线观看| 极品尤物av久久免费看| 免费视频91蜜桃| 欧日韩精品视频| 可以直接在线观看的av| 欧美在线视频导航| 免费看久久久| 每日在线观看av| 国产成人精品免费网站| 欧美日韩在线视频免费播放| 制服视频三区第一页精品| av网页在线| 国产精品免费久久久| 欧美日韩一二三四| 老头吃奶性行交视频| 国产女人18毛片水真多成人如厕 | 欧美狂野另类xxxxoooo| www 日韩| 国产在线不卡精品| 五月激情综合| 国产精品探花在线播放| 亚洲精品中文在线观看| 亚洲欧美另类视频| 国内免费久久久久久久久久久| 91欧美日韩在线| 9久久9毛片又大又硬又粗| 99久久精品情趣| 国产婷婷色一区二区在线观看| 亚洲精品自在久久| 亚洲日本网址| 亚洲午夜激情| 国产乱子伦一区二区三区国色天香| 69av视频在线| 亚洲国内精品在线| 成人勉费视频| 亚洲一区免费看| 国产一区二区三区免费观看| 黄色一级免费视频| 亚洲精品福利在线观看| 欧美粗大gay| 亚洲永久一区二区三区在线| 国产主播一区二区三区| 久久99久久久| 日韩精品丝袜在线| 91av亚洲| 中文字幕乱码一区二区三区| 国产精品99久久久久久宅男| 国产第一页在线播放| 亚洲欧美综合区自拍另类| 日韩精品一级毛片在线播放| 高清无码一区二区在线观看吞精| 97精品国产露脸对白| 五月婷婷丁香在线| 精品中文字幕乱| 亚洲男人都懂第一日本| 一道本在线免费视频| 亚洲午夜在线电影| 国产一区二区三区不卡在线| 91香蕉国产在线观看| 国产日韩欧美| 国产精品丝袜一区二区| 亚洲国内精品视频| 欧美在线se| www.av毛片| 国产精品成人免费精品自在线观看| 免费av网站观看| 国产精品久久不能| 国产精品草草| 成人片黄网站色大片免费毛片| 91精品国产入口| 三上悠亚一区二区| 国产精品va在线观看无码| 国产欧美一二三区| 五月婷婷狠狠干|