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

保護敏感數據:Spring Boot中敏感字段加密解密的高效解決方案

安全 應用安全
敏感數據是指那些泄漏后可能會給社會或個人造成嚴重危害的數據,以個人隱私信息為例,如手機號碼、家庭住址、郵箱、身份證號、銀行卡帳號、購物網站的支付密碼、登陸密碼等等。另外從社會的角度出發,也有很多數據是屬于敏感數據,如:居民的生物基因信息等等。

前言

相信大家都有這樣一個煩惱,就是經常會接到各種推銷、廣告的電話和短信,如果你沒有在他那里留下過聯系方式,他又是如何得到了你的聯系方式呢?毫無疑問,是個人信息被泄漏了。個人信息的泄漏有人為不合法謀利的因素,也有系統不合理的安全設計造成泄漏的因素。當然系統設計的角度出發,敏感信息需要加密存儲的,數據展示的時候也要進行相應的脫敏處理,但是從一些關于個信息泄漏的新聞報道來看,有好多的網站后臺竟然是“裸奔”狀態,簡直太可怕了。其實敏感數據的處理也不復雜,說到底是安全意識不強。當然,這篇文章和大家分享的重點是加密和解密的方法,不是數據安全的重要性。

基本概念

敏感數據

敏感數據是指那些泄漏后可能會給社會或個人造成嚴重危害的數據,以個人隱私信息為例,如手機號碼、家庭住址、郵箱、身份證號、銀行卡帳號、購物網站的支付密碼、登陸密碼等等。另外從社會的角度出發,也有很多數據是屬于敏感數據,如:居民的生物基因信息等等。

數據加密

數據加密是指對數據重新編碼來保護數據,獲取實際數據的唯一辦法就是使用密鑰解密數據;

數據解密

數據解密與數據加密是相對的,即使用密鑰對加密的數據進行解密的過程;

加密方式

加密的方式,一般是兩種:對稱加密和非對稱加密;

對稱加密只有一個秘鑰,加密和解密都是用同一個秘鑰,如AES、DES等;

非對稱加密有兩個秘鑰,一個是公鑰,一個是私鑰。使用公鑰對數據進行加密,加密后的數據只有私鑰可以解密,一般公鑰是公開的,私鑰是不公開的;如RSA、DSA等;

實現原理

Springboot項目中,客戶端通過接口向服務端讀取或寫入敏感數據時,常會有這樣的業務需求:

1、在客戶端向服務器端發起寫入請求,服務端需要對寫入的敏感數據進行加密后存儲;

2、在客戶端從服務器端向外讀取數據的時候,需要對輸出的敏感數據進行解密;

顯然這種場景,對于加密的方式的選擇,對稱加密是最好的選擇;那么如何實現對寫入請求、讀取請求的敏感數據的加密、解密處理呢?解決方案如下:

1、自定義兩個切面注解,分別是加密切面注解、解密切面注解,作用于需要加密或解密的敏感數據處理的業務處理類的具體業務處理方法上;

2、自定義兩個敏感字段處理注解,分別是加密字段注解、解密字段注解,作用于需要輸入或輸出的對象的敏感字段上;如果輸入對象上標記了加密字段注解,則表示該字段在對內寫入數據庫的時候,需要加密處理;同理,如果輸出對象上標記了解密字段注解,則表示該字段在對外輸出的時候,需要進行解密;

3、使用面向切面編程,定義兩個切面類,分別是加密切面類和解密切面類,選擇Spring AOP的環繞通知來具體實現;加密切面類中,以注解的方式定義切入點,用到的注解就是自定義的加密切面注解;

4、如果新增、編輯等寫入類的業務請求處理方法上標記了加密切面注解,那么寫入請求在正式被業務處理方法處理前,會命中加密切面類,加密切面類的環繞通知方法被觸發,然后根據輸入的參數對象中的字段是否標記了自定義的加密字段注解,來決定是否對當前字段進行加密處理;

5、同理,如果是查詢等讀取類的業務請求處理方法上標記了解密切面注解,那么讀取請求被業務處理類處理完之后,會命中解密切面類,解密切面類的環繞通知方法被觸發,然后根據返回對象的字段是否標記了解密字段注解,來決定是否對當前字段進行解密處理。

圖片

實現方案

環境配置

jdk版本:1.8開發工具:Intellij iDEA 2020.1

springboot:2.3.9.RELEASE

mybatis-spring-boot-starter:2.1.4

依賴配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.3</version>
</dependency>

示例時序圖

圖片圖片

示例代碼

1、自定義四個注解:@DecryptField(解密字段注解)、@EncryptField(加密字段注解)、@NeedEncrypt(解密切面注解)、@NeedEncrypt(加密切面注解),其中@DecryptField作用于需要解密的字段上;@EncryptField作用于需要加密的字段上;@NeedEncrypt作用于需要對入參數進行加密處理的方法上;@NeedDecrypt作用于需要對返回值進行解密處理的方法上;

//解密字段注解
@Target(value = {ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface DecryptField {
}
//加密字段注解
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface EncryptField {
}
//作用于對返回值進行解密處理的方法上
@Target(value = {ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface NeedDecrypt {
}
//作用于需要對入參數進行加密處理的方法上
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface NeedEncrypt {
}

2、把自定義的加密字段注解、解密字段注解標記在需要加密或者解密的字段上;這里表示在寫入人員的手機號碼、身份證號碼、家庭住址門牌號碼時,要進行加密處理;在讀取人員的手機號碼、身份證號碼、家庭住址門牌號碼時,要進行解密處理;

@Slf4j
@Data
public class Person  {
 private Integer id;
 private String userName;
 private String loginNo;
 @EncryptField
 @DecryptField
 private String phoneNumber;
 private String sex;
 @DecryptField
 @EncryptField
 private String IDCard;
 private String address;
 @EncryptField
 @DecryptField
 private String houseNumber;
}

3、把@NeedEncrypt和@NeedDecrypt標記在需要對入參數、返回值中的敏感字段進行加密、解密處理的業務處理方法上;

@RestController
@RequestMapping("/person")
@Slf4j
public class PersonController {
    @Autowired
    private IPersonService personService;
    //添加人員信息
    @PostMapping("/add")
    @NeedEncrypt
    public Person add(@RequestBody Person person, Model model) {
        Person result = this.personService.registe(person);
        log.info("http://增加person執行完成");
        return result;
    }
    //人員信息列表查詢
    @GetMapping("/list")
    @NeedDecrypt
    public List<Person> getPerson() {
        List<Person> persons = this.personService.getPersonList();
        log.info("http://查詢person列表執行完成");
        return persons;
    }
    //人員信息詳情查詢
    @GetMapping("/{id}")
    @NeedDecrypt
    public Person get(@PathVariable Integer id) {
        Person persnotallow= this.personService.get(id);
        log.info("http://查詢person詳情執行完成");
        return person;
    }
}

4、自定義加密切面類(EncryptAop)和解密切面類(DecryptAop):用@NeedEncrypt注解定義加密切點,在加密切點的環繞通知方法里執行到具體的業務處理方法之前,判斷輸入對象的參數字段是否標記了@EncryptField(加密字段注解),如果判斷結果為true,則使用java反射對該字段進行加密處理,注意這里引用了hutool的工具包,使用了工具包里的加密和解密方法,這里也可以替換成其他的方式;用@NeedDecrypt注解定義解密切點,在解密切點的環繞通知方法里執行完具體的業務處理方法之后,判斷輸出對象的參數字段是否標記了@DecryptField(解密字段注解),如果判斷結果為true,則使用java反射對該 字段進行解密處理;

@Component
@Aspect
@Slf4j
public class EncryptAop {
    /**
     * 定義加密切入點
     */
    @Pointcut(value = "@annotation(com.fanfu.anno.NeedEncrypt)")
    public void pointcut() {
    }


    /**
     * 命中加密切入點的環繞通知
     *
     * @param proceedingJoinPoint
     * @return
     * @throws Throwable
     */
    @Around("pointcut()")
    public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        log.info("http://環繞通知 start");
        //獲取命中目標方法的入參數
        Object[] args = proceedingJoinPoint.getArgs();
        if (args.length > 0) {
            for (Object arg : args) {
                //按參數的類型進行判斷,如果業務中還有其他的類型,可酌情增加
                if (arg != null) {
                    if (arg instanceof List) {
                        for (Object tmp : ((List) arg)) {
                            //加密處理
                            this.deepProcess(tmp);
                        }
                    } else {
                        this.deepProcess(arg);
                    }
                }
            }
        }
        //對敏感數據加密后執行目標方法
        Object result = proceedingJoinPoint.proceed();
        log.info("http://環繞通知 end");
        return result;
    }


    public void deepProcess(Object obj) throws IllegalAccessException {
        if (obj != null) {
            //獲取對象的所有字段屬性并遍歷
            Field[] declaredFields = obj.getClass().getDeclaredFields();
            for (Field declaredField : declaredFields) {
                //判斷字段屬性上是否標記了@EncryptField注解
                if (declaredField.isAnnotationPresent(EncryptField.class)) {
                    //如果判斷結果為真,則取出字段屬性值,進行加密、重新賦值
                    declaredField.setAccessible(true);
                    Object valObj = declaredField.get(obj);
                    if (valObj != null) {
                        String value = valObj.toString();
                        //開始敏感字段屬性值加密
                        String decrypt = this.encrypt(value);
                        //把加密后的字段屬性值重新賦值
                        declaredField.set(obj, decrypt);
                    }
                }
            }
        }
    }


    private String encrypt(String value) {
        //這里特別注意一下,對稱加密是根據密鑰進行加密和解密的,加密和解密的密鑰是相同的,一旦泄漏,就無秘密可言,
        //“fanfu-csdn”就是我自定義的密鑰,這里僅作演示使用,實際業務中,這個密鑰要以安全的方式存儲;
        byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.DES.getValue(), "fanfu-csdn".getBytes()).getEncoded();
        SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.DES, key);
        String encryptValue = aes.encryptBase64(value);
        return encryptValue;
    }


}
@Component
@Aspect
@Slf4j
public class DecryptAop {
    /**
     * 定義需要解密的切入點
     */
    @Pointcut(value = "@annotation(com.fanfu.anno.NeedDecrypt)")
    public void pointcut() {
    }


    /**
     * 命中的切入點時的環繞通知
     *
     * @param proceedingJoinPoint
     * @return
     * @throws Throwable
     */
    @Around("pointcut()")
    public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        log.info("http://環繞通知 start");
        //執行目標方法
        Object result = proceedingJoinPoint.proceed();
        //判斷目標方法的返回值類型
        if (result instanceof List) {
            for (Object tmp : ((List) result)) {
                //數據脫敏處理邏輯
                this.deepProcess(tmp);
            }
        } else {
            this.deepProcess(result);
        }
        log.info("http://環繞通知 end");
        return result;
    }


    public void deepProcess(Object obj) throws IllegalAccessException {
        if (obj != null) {
            //取出輸出對象的所有字段屬性,并遍歷
            Field[] declaredFields = obj.getClass().getDeclaredFields();
            for (Field declaredField : declaredFields) {
                //判斷字段屬性上是否標記DecryptField注解
                if (declaredField.isAnnotationPresent(DecryptField.class)) {
                    //如果判斷結果為真,則取出字段屬性數據進行解密處理
                    declaredField.setAccessible(true);
                    Object valObj = declaredField.get(obj);
                    if (valObj != null) {
                        String value = valObj.toString();
                        //加密數據的解密處理
                        value = this.decrypt(value);
                        DecryptField annotation = declaredField.getAnnotation(DecryptField.class);
                        boolean open = annotation.open();
                        //把解密后的數據重新賦值
                        declaredField.set(obj, value);
                    }
                }
            }
        }
    }


    private String decrypt(String value) {
        //這里特別注意一下,對稱加密是根據密鑰進行加密和解密的,加密和解密的密鑰是相同的,一旦泄漏,就無秘密可言,
        //“fanfu-csdn”就是我自定義的密鑰,這里僅作演示使用,實際業務中,這個密鑰要以安全的方式存儲;
        byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.DES.getValue(), "fanfu-csdn".getBytes()).getEncoded();
        SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.DES, key);
        String decryptStr = aes.decryptStr(value);
        return decryptStr;
    }
}

加密結果

圖片圖片

解密結果

圖片圖片

總結

這篇著重和大家分享的內容如下:

1、敏感數據的一些基礎概念;

2、敏感數據處理的解決思路;

3、敏感數據處理的具體實現方式;

責任編輯:武曉燕 來源: 凡夫販夫
相關推薦

2020-10-25 09:04:46

數據加密數據泄露攻擊

2024-09-27 12:27:31

2023-10-23 10:39:05

2010-05-14 13:50:57

2023-10-30 15:35:05

數據安全數據驅動

2025-04-28 08:08:14

2020-04-16 08:00:00

Ansible Vau敏感數據加密

2021-09-16 10:11:15

Dataphin 數據保護

2018-04-28 09:00:00

2024-01-01 15:53:25

2021-08-27 16:26:11

敏感數據

2011-08-01 14:36:06

加密RSA

2010-09-27 10:15:15

2012-04-12 14:45:12

賽門鐵克云南電網

2021-09-18 10:06:06

數據安全隱私計算大數據

2024-03-05 09:40:35

2021-03-19 11:13:07

SaaS云平臺

2021-03-23 14:34:25

敏感數據云安全漏洞

2014-06-18 09:50:14

2010-06-09 14:47:24

MySQL加密函數
點贊
收藏

51CTO技術棧公眾號

欧美精品videos另类日本| 日韩一区二区电影在线| 欧美一区二区在线视频观看| 日韩一级在线视频| 国产欧美日韩精品一区二区免费| 欧亚一区二区三区| 欧美aaa在线观看| 国产一区二区在线视频观看| 精品91在线| 亚洲视频在线观看视频| 不卡的在线视频| 精灵使的剑舞无删减版在线观看| av亚洲精华国产精华| 国产ts人妖一区二区三区| 大胸美女被爆操| 欧美久久亚洲| 欧美午夜xxx| 日本特级黄色大片| 香港一级纯黄大片| 狠狠色丁香婷婷综合久久片| 久久久久久999| 免费视频91蜜桃| 98视频精品全部国产| 日本久久电影网| www.国产二区| av午夜在线| 成人h精品动漫一区二区三区| 国产成人综合精品| 久久久精品国产sm调教网站| 国产区精品区| 亚洲精品一区二区三区香蕉| 午夜免费一区二区| 日韩伦理在线| 亚洲精品日日夜夜| 婷婷久久青草热一区二区 | 日韩欧美aaa| 久久人妻无码一区二区| 超碰国产在线| 99国产欧美久久久精品| 成人啪啪免费看| 精品成人无码久久久久久| 欧美日韩三区| 久久韩国免费视频| 先锋影音av在线| 日韩精选在线| 精品国产区一区| 黄色a级三级三级三级| 国产 日韩 欧美一区| 精品人伦一区二区三区蜜桃网站 | 国产成年妇视频| 日韩电影在线免费| 日本精品视频在线观看| 日本熟妇一区二区| 午夜日韩电影| 久久精品最新地址| 一级免费黄色录像| 日韩精品第一区| 国产亚洲欧洲在线| 蜜桃久久精品成人无码av| 最新亚洲精品| 亚洲女人天堂色在线7777| 老熟妇精品一区二区三区| youjizzjizz亚洲| 日韩精品一区二区在线观看| 久久婷婷中文字幕| 精品国产一区二| 日韩欧美不卡一区| 久久久久99人妻一区二区三区| 国产精品亚洲欧美日韩一区在线| 欧美乱熟臀69xxxxxx| 麻豆一区二区三区视频| 国产69精品久久久久9999人| 欧美日韩一区高清| 亚洲第一天堂久久| 日韩高清一区| 精品国产百合女同互慰| 欧美在线一级片| 在线观看欧美理论a影院| 亚洲美女精品久久| 黄色国产在线播放| 91精品啪在线观看国产18| 免费不卡欧美自拍视频| 久久亚洲AV无码| 在线成人国产| 日本乱人伦a精品| 国产精品高清无码| 国产最新精品精品你懂的| 成人黄色片网站| 亚洲AV无码乱码国产精品牛牛| 成人黄页毛片网站| 日本一区二区在线视频| 久久久久久久久免费视频| 一区二区三区欧美日| 欧美日韩福利在线| 日韩欧美一区二区三区在线观看| 欧美日韩一区二区三区视频| 午夜激情视频网| 九九热hot精品视频在线播放| 亚洲欧美在线播放| 免费看一级黄色| 欧美午夜影院| 日本一区二区三区四区视频| 91片黄在线观看喷潮| 成人美女视频在线观看18| 欧美成人蜜桃| 成人短视频在线观看| 精品久久中文字幕| 伊人色在线观看| 牛牛影视久久网| 中文字幕自拍vr一区二区三区| 破处女黄色一级片| 久久一二三区| 91免费看网站| 高清美女视频一区| 亚洲国产另类精品专区| www.com黄色片| 国产精品网站在线看| 色偷偷av一区二区三区乱| 国产成人在线播放视频| 久久精品国产色蜜蜜麻豆| 国产在线播放一区二区| 国产cdts系列另类在线观看| 色综合夜色一区| 欧美一级大片免费看| 日韩精品首页| 浅井舞香一区二区| 亚洲精品成人电影| 亚洲欧美在线aaa| 欧美一级片中文字幕| 成人另类视频| 日韩在线观看免费| 亚洲欧美偷拍一区| 成人avav影音| 菠萝蜜视频在线观看入口| 国产精品成人国产| 亚洲图片欧美午夜| 99精品视频99| 国产99久久久国产精品潘金 | 欧美日韩久久婷婷| 国产一区二区精品福利地址| 国内偷自视频区视频综合| 国产精品欧美激情在线| 国产精品污污网站在线观看| 日韩黄色片视频| 欧美变态挠脚心| 欧美激情a在线| aaa一区二区三区| 国产精品家庭影院| 在线观看亚洲色图| 精品少妇av| 日韩美女在线观看| 日本中文字幕一区二区有码在线| 亚洲国产综合视频在线观看| 久久人人爽人人片| 亚洲国产精品91| 成人在线国产精品| 九义人在线观看完整免费版电视剧| 欧洲一区在线电影| 极品人妻videosss人妻| 天使萌一区二区三区免费观看| 久久av一区二区三区漫画| 18video性欧美19sex高清| 精品国产乱码久久久久久图片| 中文字幕影音先锋| 国产成人精品一区二| 粉嫩av一区二区三区天美传媒| 国产日韩欧美中文在线| 精品激情国产视频| 999免费视频| 一区二区三区免费观看| 在线观看成人动漫| 一本色道久久综合亚洲精品不卡| 精品久久一区二区三区蜜桃| 天堂av在线| 亚洲欧洲免费视频| 自拍偷拍色综合| 中文字幕日韩欧美一区二区三区| 亚洲综合20p| 国模大胆一区二区三区| 久久精品日产第一区二区三区| 日韩成人影音| 日韩中文字幕在线免费观看| 国产草草影院ccyycom| 天天综合色天天综合色h| 中文字幕av网址| 免播放器亚洲一区| 国产在线视频综合| 香蕉视频一区| 国产欧美日韩中文字幕在线| 天堂8中文在线| 亚洲第一偷拍网| 久草视频在线免费| 亚洲精品国产成人久久av盗摄| 荫蒂被男人添免费视频| 视频一区中文字幕国产| 国产奶头好大揉着好爽视频| 久9re热视频这里只有精品| 日本乱人伦a精品| 国产网站在线免费观看| 亚洲精品97久久| 一区二区三区在线免费观看视频 | 天天操天天射天天爽| 久久久精品黄色| 亚洲视频一二三四| 亚洲区欧美区| 制服丝袜综合日韩欧美| 九九热hot精品视频在线播放| 国产精品视频精品| 国产黄色大片在线观看| 伊人伊成久久人综合网站| 丰满熟妇人妻中文字幕| 欧美日韩五月天| 日本熟妇毛茸茸丰满| 国产精品麻豆网站| 国产精品无码网站| 国产在线视频精品一区| 国产精品wwwww| 国产精品va| 一本一道久久a久久精品综合| 精品欧美午夜寂寞影院| 亚洲永久在线观看| 日韩免费小视频| 久久久久久久一区二区| 久久五月精品| 在线观看国产欧美| 免费人成在线观看网站| 亚洲成年人在线| 国产男女无套免费网站| 在线免费观看日韩欧美| 国产 欧美 日韩 在线| 亚洲男人的天堂网| 四虎影视一区二区| 国产日韩影视精品| 日本丰满少妇裸体自慰| 丁香另类激情小说| 亚洲精品国产久| 麻豆精品在线播放| 久久精品香蕉视频| 亚洲在线日韩| 欧美丰满熟妇bbbbbb百度| 欧美日韩国产一区精品一区| 99精品视频网站| 久久婷婷蜜乳一本欲蜜臀| 欧美一区二区三区精美影视| 亚洲电影男人天堂| 久久国产精品亚洲va麻豆| 国产精品xxx在线观看| 99九九视频| 欧美日韩黄网站| 亚洲综合视频1区| 蜜桃精品一区二区三区| 91欧美激情另类亚洲| 日韩av懂色| 国产精品视频自拍| 欧美日韩va| 国产免费成人av| 九九热这里有精品| 国产日韩欧美夫妻视频在线观看| 精品无人乱码一区二区三区| 日韩免费中文字幕| 免费污视频在线一区| 国产精品免费视频xxxx| 狠狠久久伊人中文字幕| 91精品国产综合久久久久久蜜臀| 欧美天堂在线| 川上优av一区二区线观看 | 99re在线视频上| youjizz欧美| 久久婷婷人人澡人人喊人人爽| 色婷婷av一区二区三区丝袜美腿| 免费在线成人av| 国产麻豆精品久久| 亚洲精品久久久久久一区二区| 色欧美自拍视频| 久久av喷吹av高潮av| 午夜精品剧场| 久久精品国产sm调教网站演员| 中文亚洲字幕| 欧美两根一起进3p做受视频| 麻豆精品国产传媒mv男同| 九一精品久久久| 从欧美一区二区三区| 国产精品一级黄片| 国产欧美日韩视频一区二区| 国产91在线播放九色| 亚洲黄色在线视频| 国产精品一区无码| 欧美日韩精品一区二区| 国内老熟妇对白xxxxhd| 日韩毛片在线看| 天堂地址在线www| 九九久久精品一区| www.成人影院| 91久久夜色精品国产网站| 美女av一区| 亚洲欧洲日韩综合二区| 午夜欧美精品| www.日本xxxx| 成人黄页毛片网站| 国产精品久久久久久成人| 亚洲综合在线免费观看| 无码一区二区三区在线观看| 制服.丝袜.亚洲.另类.中文| 亚洲欧洲精品视频| 久久天天躁狠狠躁夜夜躁| 成人在线黄色电影| 国产原创欧美精品| 日韩精品免费一区二区三区竹菊| 一区二区高清视频| 国产精品久久久久毛片大屁完整版| 色一情一区二区三区| 91美女片黄在线| 少妇久久久久久被弄高潮| 91福利在线播放| 成人久久久精品国产乱码一区二区| 亚洲人成电影在线播放| 男女在线观看视频| 国产日韩在线亚洲字幕中文| 日韩大尺度在线观看| 男人天堂网站在线| 久久99九九99精品| 一本色道久久综合亚洲精品图片| 亚洲精品国产无套在线观| 中文字幕网址在线| 国产视频精品自拍| av小说在线播放| 91系列在线播放| 欧美一二区在线观看| 97视频在线免费播放| 成人黄色777网| 国产精品白嫩白嫩大学美女| 欧美色欧美亚洲另类二区| 天堂а√在线8种子蜜桃视频| 久久99国产精品自在自在app| 欧美成人一二区| 日本精品二区| 美女日韩在线中文字幕| 国产精品无码电影| 亚洲国产cao| 亚洲产国偷v产偷v自拍涩爱| 日韩中文字幕av| av亚洲一区二区三区| 久久综合伊人77777麻豆| 99精品欧美| 伊人网综合视频| 亚洲午夜精品久久久久久久久| 国产三级伦理片| 久久精品中文字幕免费mv| 国精品产品一区| 无遮挡亚洲一区| 日韩中文字幕麻豆| 日韩人妻无码精品综合区| 色综合天天综合| 青青草视频在线观看| 欧美一级免费视频| 亚洲女娇小黑人粗硬| 男人天堂999| 久久久久免费观看| 波多野结衣网站| 一区二区三区www| 深夜视频一区二区| 亚洲一区二区三区乱码| 麻豆高清免费国产一区| 国产精品麻豆免费版现看视频| 欧美日韩综合在线| 浪潮av一区| 69174成人网| 激情偷拍久久| 免费的av网站| 色噜噜狠狠色综合欧洲selulu| 飘雪影院手机免费高清版在线观看 | 日本一区免费看| 天堂av在线一区| 2014亚洲天堂| 欧美一区二区三区电影| 国产精品探花在线| 久久精品一二三区| 人人精品人人爱| 天天做夜夜爱爱爱| 精品精品欲导航| 神马久久午夜| 亚洲精品在线观看免费| 国产精品自产自拍| 日韩精品在线免费看| 亚洲久久久久久久久久久| 巨胸喷奶水www久久久| 特级西西444| www.在线成人| 欧美一区二区三区久久久| 久久天天躁狠狠躁夜夜av| 日韩av三区| 不卡的在线视频| 亚洲成人资源网| 大地资源中文在线观看免费版| 国产自摸综合网| 亚洲午夜伦理| 中文字幕伦理片| 精品日韩成人av| 懂色aⅴ精品一区二区三区| 777久久精品一区二区三区无码|