日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RSA非对称加密简析-java

發布時間:2025/7/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RSA非对称加密简析-java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 非對稱加密算法

1.1 概述

  1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是“公開密鑰系統”。

與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。

1.2 加密流程

如下圖所示,甲乙之間使用非對稱加密的方式完成了重要信息的安全傳輸。   非對稱加密工作過程簡要示意圖 1、乙方生成一對密鑰(公鑰和私鑰)并將公鑰向其它方公開。 2、得到該公鑰的甲方使用該密鑰對機密信息進行加密后再發送給乙方。 3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密后的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密后的信息。 在傳輸過程中,即使攻擊者截獲了傳輸的密文,并得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。 同樣,如果乙要回復加密信息給甲,那么需要甲先公布甲的公鑰給乙用于加密,甲自己保存甲的私鑰用于解密。

2 RSA加密算法

2.1 概述

  RSA是目前最有影響力和最常用的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數密碼攻擊,已被ISO推薦為公鑰數據加密標準。

RSA公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。 在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。 正是基于這種理論,1978年出現了著名的RSA算法,它通常是先生成一對RSA 密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網絡服務器中注冊。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常采用傳統加密方法與公開密鑰加密方法相結合的方式,即信息采用改進的DES或IDEA對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息后,用不同的密鑰解密并可核對信息摘要。 RSA算法是第一個能同時用于加密和數字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現今的三十多年里,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。

2.2??算法實現過程

1. 隨意選擇兩個大的質數p和q,p不等于q,計算N=pq。 2. 根據歐拉函數,不大于N且與N互質的整數個數為(p-1)(q-1)。 3. 選擇一個整數e與(p-1)(q-1)互質,并且e小于(p-1)(q-1)。 4. 用以下這個公式計算d:d× e ≡ 1 (mod (p-1)(q-1))。 5. 將p和q的記錄銷毀。 以上內容中,(N,e)是公鑰,(N,d)是私鑰。

?2.3 算法缺點

  1)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。

  2)安全性,RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價,而且密碼學界多數人士傾向于因子分解不是NP問題。

  3)速度太慢,由于RSA 的分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利于數據格式的標準化。

2.4 java代碼實現加解密

1 package xin.dreaming.rsa; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.UnsupportedEncodingException; 5 import java.security.Key; 6 import java.security.KeyFactory; 7 import java.security.KeyPair; 8 import java.security.KeyPairGenerator; 9 import java.security.NoSuchAlgorithmException; 10 import java.security.interfaces.RSAPrivateKey; 11 import java.security.interfaces.RSAPublicKey; 12 import java.security.spec.PKCS8EncodedKeySpec; 13 import java.security.spec.X509EncodedKeySpec; 14 import java.util.HashMap; 15 import java.util.Map; 16 17 import javax.crypto.Cipher; 18 19 import org.bouncycastle.util.encoders.Base64; 20 21 /** 22 * Rsa工具類 23 * 24 * @author DREAMING.XIN 25 * 26 */ 27 public abstract class RsaUtils { 28 /** 29 * 生成公鑰私鑰對,使用默認模長1024。 30 * 31 * @return Object[] : 0:公鑰( RSAPublicKey ),1:私鑰( RSAPrivateKey ) 32 */ 33 34 private static final int DEFAULT_KEY_LEN = 2048; 35 36 public static Map<String, String> genKeyPair() { 37 return genKeyPair(DEFAULT_KEY_LEN); 38 39 } 40 41 /** 42 * 指定模長生成公私鑰對 43 * 44 * @param modulus 45 * @return 46 */ 47 public static Map<String, String> genKeyPair(int modulus) { 48 KeyPairGenerator keyPairGen; 49 try { 50 keyPairGen = KeyPairGenerator.getInstance("RSA"); 51 keyPairGen.initialize(modulus); 52 KeyPair keyPair = keyPairGen.generateKeyPair(); 53 54 Map<String, String> keyMaps = new HashMap<String, String>(); 55 RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); 56 keyMaps.put("publicKey", new String(Base64.encode(publicKey.getEncoded()))); 57 RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); 58 keyMaps.put("privateKey", new String(Base64.encode(privateKey.getEncoded()))); 59 60 return keyMaps; 61 } catch (NoSuchAlgorithmException e) { 62 throw new RuntimeException(e); 63 } 64 } 65 66 /** 67 * 公鑰加密 68 * 69 * @param publicKeyBytes 70 * @param data 71 * @param modulus 72 * 公鑰模長,范圍512-2048。 73 * @return 74 */ 75 public static byte[] encryptByPublicKey(byte[] publicKeyBytes, byte[] data, int modulus) { 76 try { 77 // RSA最大加密明文大小 78 int maxEncryptBlock = modulus / 8 - 11; 79 80 X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(publicKeyBytes); 81 KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 82 Key publicK = keyFactory.generatePublic(x509KeySpec); 83 Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); 84 cipher.init(Cipher.ENCRYPT_MODE, publicK); 85 int inputLen = data.length; 86 ByteArrayOutputStream out = new ByteArrayOutputStream(); 87 int offSet = 0; 88 byte[] cache; 89 int i = 0; 90 while (inputLen - offSet > 0) { 91 if (inputLen - offSet > maxEncryptBlock) { 92 cache = cipher.doFinal(data, offSet, maxEncryptBlock); 93 } else { 94 cache = cipher.doFinal(data, offSet, inputLen - offSet); 95 } 96 out.write(cache, 0, cache.length); 97 i++; 98 offSet = i * maxEncryptBlock; 99 } 100 byte[] encryptedData = out.toByteArray(); 101 out.close(); 102 return encryptedData; 103 } catch (Exception e) { 104 throw new RuntimeException(e); 105 } 106 107 } 108 109 /** 110 * 公鑰加密,密鑰模長使用默認長度1024。 111 * 112 * @param publicKeyBytes 113 * 公鑰RSAPublicKey getEncoded() 114 * @param data 115 * 要加密的字節數組 116 */ 117 public static byte[] encryptByPublicKey(byte[] publicKeyBytes, byte[] data) { 118 return encryptByPublicKey(publicKeyBytes, data, DEFAULT_KEY_LEN); 119 } 120 121 /** 122 * 公鑰解密 123 * 124 * @param publicKeyBytes 125 * 公鑰RSAPublicKey getEncoded() 126 * @param encryptedData 127 * 被(私鑰)加密過的字節數組 128 * @param modulus 129 * 模長,范圍512-2048 130 * @return 131 */ 132 public static byte[] decryptByPublicKey(byte[] publicKeyBytes, byte[] encryptedData, int modulus) { 133 // RSA最大解密密文大小 134 int maxDecryptBlock = modulus / 8; 135 try { 136 X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(publicKeyBytes); 137 KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 138 Key publicK = keyFactory.generatePublic(x509KeySpec); 139 Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); 140 cipher.init(Cipher.DECRYPT_MODE, publicK); 141 int inputLen = encryptedData.length; 142 ByteArrayOutputStream out = new ByteArrayOutputStream(); 143 int offSet = 0; 144 byte[] cache; 145 int i = 0; 146 // 對數據分段解密 147 while (inputLen - offSet > 0) { 148 if (inputLen - offSet > maxDecryptBlock) { 149 cache = cipher.doFinal(encryptedData, offSet, maxDecryptBlock); 150 } else { 151 cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); 152 } 153 out.write(cache, 0, cache.length); 154 i++; 155 offSet = i * maxDecryptBlock; 156 } 157 byte[] decryptedData = out.toByteArray(); 158 out.close(); 159 return decryptedData; 160 } catch (Exception e) { 161 throw new RuntimeException(e); 162 } 163 } 164 165 /** 166 * 公鑰解密,默認模長1024 167 * 168 * @param publicKeyBytes 169 * 公鑰RSAPublicKey getEncoded() 170 * @param encryptedData 171 * 被(私鑰)加密過的字節數組 172 */ 173 public static byte[] decryptByPublicKey(byte[] publicKeyBytes, byte[] encryptedData) { 174 return decryptByPublicKey(publicKeyBytes, encryptedData, DEFAULT_KEY_LEN); 175 } 176 177 /** 178 * 私鑰加密 179 * 180 * @param privateKeyBytes 181 * 私鑰RSAPrivateKey getEncoded() 182 * @param data 183 * 要加密的字節數組 184 * @param modulus 185 * 模長,范圍512-2048。 186 */ 187 public static byte[] encryptByPrivateKey(byte[] privateKeyBytes, byte[] data, int modulus) { 188 try { 189 // RSA最大加密明文大小 190 int maxEncryptBlock = modulus / 8 - 11; 191 192 PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(privateKeyBytes); 193 KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 194 Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); 195 Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); 196 cipher.init(Cipher.ENCRYPT_MODE, privateK); 197 int inputLen = data.length; 198 ByteArrayOutputStream out = new ByteArrayOutputStream(); 199 int offSet = 0; 200 byte[] cache; 201 int i = 0; 202 while (inputLen - offSet > 0) { 203 if (inputLen - offSet > maxEncryptBlock) { 204 cache = cipher.doFinal(data, offSet, maxEncryptBlock); 205 } else { 206 cache = cipher.doFinal(data, offSet, inputLen - offSet); 207 } 208 out.write(cache, 0, cache.length); 209 i++; 210 offSet = i * maxEncryptBlock; 211 } 212 byte[] encryptedData = out.toByteArray(); 213 out.close(); 214 return encryptedData; 215 } catch (Exception e) { 216 throw new RuntimeException(e); 217 } 218 } 219 220 /** 221 * 私鑰加密,默認模長1024。 222 * 223 * @param privateKeyBytes 224 * 私鑰RSAPrivateKey getEncoded() 225 * @param data 226 * 要加密的字節數組 227 */ 228 public static byte[] encryptByPrivateKey(byte[] privateKeyBytes, byte[] data) { 229 return encryptByPrivateKey(privateKeyBytes, data, DEFAULT_KEY_LEN); 230 } 231 232 /** 233 * 私鑰解密 234 * 235 * @param privateKeyBytes 236 * 私鑰RSAPrivateKey getEncoded() 237 * @param encryptedData 238 * 被(公鑰)加密過的字節數組 239 * @param modulus 240 * 模長,范圍512-2048 241 */ 242 public static byte[] decryptByPrivateKey(byte[] privateKeyBytes, byte[] encryptedData, int modulus) { 243 try { 244 // RSA最大解密密文大小 245 int maxDecryptBlock = modulus / 8; 246 247 PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(privateKeyBytes); 248 KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 249 Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); 250 Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); 251 cipher.init(Cipher.DECRYPT_MODE, privateK); 252 int inputLen = encryptedData.length; 253 ByteArrayOutputStream out = new ByteArrayOutputStream(); 254 int offSet = 0; 255 byte[] cache; 256 int i = 0; 257 while (inputLen - offSet > 0) { 258 if (inputLen - offSet > maxDecryptBlock) { 259 cache = cipher.doFinal(encryptedData, offSet, maxDecryptBlock); 260 } else { 261 cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); 262 } 263 out.write(cache, 0, cache.length); 264 i++; 265 offSet = i * maxDecryptBlock; 266 } 267 byte[] decryptedData = out.toByteArray(); 268 out.close(); 269 return decryptedData; 270 } catch (Exception e) { 271 throw new RuntimeException(e); 272 } 273 } 274 275 /** 276 * 私鑰解密,默認模長1024。 277 * 278 * @param privateKeyBytes 279 * 私鑰RSAPrivateKey getEncoded() 280 * @param encryptedData 281 * 被(公鑰)加密過的字節數組 282 */ 283 public static byte[] decryptByPrivateKey(byte[] privateKeyBytes, byte[] encryptedData) { 284 return decryptByPrivateKey(privateKeyBytes, encryptedData, DEFAULT_KEY_LEN); 285 } 286 287 public static void main(String[] args) throws UnsupportedEncodingException { 288 // 加密原串 289 String value = "DREAMING.XIN"; 290 System.out.println("加密原串 : "); 291 System.out.println(value); 292 System.out.println("------------------------------------------------------------------------------------------"); 293 // 生成公私鑰對 294 Map<String, String> genKeyPair = genKeyPair(); 295 296 System.out.println("自行生成公私鑰對: "); 297 System.out.println(genKeyPair); 298 System.out.println("------------------------------------------------------------------------------------------"); 299 byte[] encryptByPublicKey = encryptByPublicKey(Base64.decode(genKeyPair.get("publicKey").getBytes("utf-8")), 300 value.getBytes()); 301 302 // 3、Base64編碼 303 byte[] encode = Base64.encode(encryptByPublicKey); 304 305 System.out.println("最終加密結果: "); 306 String sign = new String(encode, "utf-8"); 307 System.out.println(new String(encode, "utf-8")); 308 System.out.println("------------------------------------------------------------------------------------------"); 309 310 // 1、簽名密文->Base64解碼->RSA解密 311 byte[] signCipherArr = decryptByPrivateKey(Base64.decode(genKeyPair.get("privateKey").getBytes("utf-8")), 312 Base64.decode(sign.getBytes("utf-8"))); 313 System.out.println("解密結果: "); 314 System.out.println(new String (signCipherArr)); 315 System.out.println("------------------------------------------------------------------------------------------"); 316 317 } 318 }

輸出結果:

加密原串 : DREAMING.XIN ------------------------------------------------------------------------------------------ 自行生成公私鑰對: {publicKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkmRw1oug/LBmpkRsubsKoeEBQvGeRfUTMX8fTEuLJqKuWfHkB6HJ/08xf/BYhbL+GrUFk5DR/lbJdnD9SEx0ZDZHecrjj262T67izwf7d+rB3o7z5w/3Pk3p3Ye6Ns7SdGM6D8O6InUK4mQFSBKQhw25BqPzUQKb4DY/S+I2OAx1/qVB56Na+if5H9ttP8nhVVnQZXheTPh5Say0+ySFEBb1i2sxJQuwFLbtA9RkKNFSSB2+4sBrn5fRmemu6OGToR/WQ8KFa96+u9X2t41HPxa7dTF+g9btkEMWwbiXkPatjD9JaNXKKrueIQoDt/FKonUZQ0AafSs8r/xsrb4pfwIDAQAB, privateKey=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCSZHDWi6D8sGamRGy5uwqh4QFC8Z5F9RMxfx9MS4smoq5Z8eQHocn/TzF/8FiFsv4atQWTkNH+Vsl2cP1ITHRkNkd5yuOPbrZPruLPB/t36sHejvPnD/c+Tendh7o2ztJ0YzoPw7oidQriZAVIEpCHDbkGo/NRApvgNj9L4jY4DHX+pUHno1r6J/kf220/yeFVWdBleF5M+HlJrLT7JIUQFvWLazElC7AUtu0D1GQo0VJIHb7iwGufl9GZ6a7o4ZOhH9ZDwoVr3r671fa3jUc/Frt1MX6D1u2QQxbBuJeQ9q2MP0lo1coqu54hCgO38UqidRlDQBp9Kzyv/Gytvil/AgMBAAECggEAWWoJ1bExIkYoXHO8qPDKfLduytHDZ11aXMgVeMdHddC1h3CMY/D47P0U8dz+ZKNAO1XH0ysIaD3gDXzT5z3zdWYF4CkBNxFbP25FUEjC2qrDwUk1RjNlQ2PZbRrCrUlEGBynUQuue+9bN435/9x+9E54bcrkCd37EUZxAMtpbG+bZ8/sizBsIQYfiKlGV3FJ68OTnkCzvjltYmzWn4q1a6CDqN40G6IfBJD1g1ENkkKJvi4hu6U7LhkpI3oil4+zZuxdGNphICz6L5CQVn01MahnfJlNszQD1H0sq/G9ymHtzYyvq6Fu8URjksw4doaqYVRuGuZL58qP33BNSzilwQKBgQDHZDC5YgViTmqAC9/GGnm1Cwhi8SkbsG0j6jCRx4e6nYgux4TOg9V6MdzXrm/w6X5ZtTTDPoB4vn+l2pX8SGyO1c2JfaL3w+iMahSAee6CFDbBzmiF5b+PiiKmYKzrNTtjPNkcDsrwErIhiyplgkj/+gsiVAepliJRUVTVeApvHwKBgQC79EUDck2kwSMsw3kXb/ZUIG6BPH0j/A0xn7SqcsVc/Rt3WFzfUJV9qCsN9TwGm3lk8fIsdXYoLrm96MlNOU3uNUzwwYwqespkdJ5R6iniWA+LAVuGgHhDYk84VFDxcldMLlG16O7uuIoUSeXdVwCChx1OllKFxsEj1z6X4mPZoQKBgQCy883zI/FXGK/m+kE9aFehUCSXwH+3lTFvEWnD/MNpjqdB7NnaC2JWiFf/z1QycS1wT/zp2retJrQj47nHMi0USPluk67nFhIpq69423ZfksrOSHVw7xFtP3n3vz6S3zTMzTjCQNiMfQsYpfFIJ5VjAERr6+TwpIlqWEd+S3152wKBgH+t6FP3ChepvCNkhpYNUODFR0wzsy8Gwk+7lhdT8A7DQi1IsY5iR6sc2mKY/TXf2A9i7IiXIrUZSMRhpp33F6GCQ8opMPaKg4LKVeJ/mARSnfxn56zvCMN9vSMe4/2hFvyBWrCgk+9HHUW7DZPWzlndP2NrapPF+N5IEhVLjVkBAoGABqIvu4Vpgg3viiE6PRmlA0iAnAz2ZnaqPS7Xk8+Ua44rCxTE62Vhm5ZbfQQzxlqFL/32NnJ3+zG/ONnWqdkGkvE5N/7NZg5CNzTPVqn/PbUAQ1L01yzcAETqr1dMLhGqlMMLkdbLO8VzoagVRuE+jSOwl3a+5Yq/cu0TMKLhrAE=} ------------------------------------------------------------------------------------------ 最終加密結果: YmGXP+nSAY23ENUryid4zdE6KRAfFGhQWPJ4NAM1odZIEZCh5BbOtw437E85TdzABNE+NTDVogq+AI8WfAiD0yUpDukdRrZMb/IwG5k7xCgsVo0Tgt2SiH9bZFkvMaIIWH6d90muVtA/dyGHPSk/WmdgSl3QCcsZ3JAzMeadZwtL685eBhJD6hwXwKLfQj1OQBlLH3R9D5gBNGf36RHyi20LteTOKIR9lvMQPGbsnvspqi7t3xo5ajLpeuCr9azEovP0UFiiaxrkGLYMG2YM91r7JXUCn2gtVuDnXPFVVfOj84mN51229UJwQWBZe0BGPLSpROmOUZeWj2gjvuyqGg== ------------------------------------------------------------------------------------------ 解密結果: DREAMING.XIN ------------------------------------------------------------------------------------------

2.5 java代碼實現加簽驗簽

1 package xin.dreaming.rsa; 2 3 import org.apache.commons.codec.binary.Base64; 4 5 import javax.crypto.Cipher; 6 import java.io.ByteArrayInputStream; 7 import java.security.KeyFactory; 8 import java.security.PrivateKey; 9 import java.security.PublicKey; 10 import java.security.Signature; 11 import java.security.cert.Certificate; 12 import java.security.cert.CertificateFactory; 13 import java.security.spec.PKCS8EncodedKeySpec; 14 15 /** 16 * 17 * @author DREAMING.XIN 18 * 19 */ 20 public class RSAUtil { 21 22 private static final String CHARSET = "UTF-8"; 23 24 private static final String algorithm = "SHA256withRSA"; 25 26 /** 27 * 網聯請求報文簽名 28 * 29 * @param privateKey 30 * 機構私鑰字符串 31 * @param content 32 * 簽名原文 33 * @return 簽名密文 34 * @throws Exception 35 */ 36 public static String sign(String privateKey, String content) throws Exception { 37 Signature signature = Signature.getInstance(algorithm); 38 signature.initSign(convertPrivateKey(privateKey)); 39 signature.update(content.getBytes(CHARSET)); 40 return Base64.encodeBase64String(signature.sign()); 41 } 42 43 /** 44 * 網聯返回報文驗簽 45 * 46 * @param publicKey 47 * 網聯公鑰字符串 48 * @param content 49 * 驗簽原文報文 50 * @param signStr 51 * 網聯返回簽名字符串 52 * @return 驗簽結果 53 * @throws Exception 54 */ 55 public static boolean vertify(String publicKey, String content, String signStr) throws Exception { 56 Signature signature = Signature.getInstance(algorithm); 57 signature.initVerify(convertPublicKey(publicKey)); 58 signature.update(content.getBytes(CHARSET)); 59 return signature.verify(Base64.decodeBase64(signStr.getBytes(CHARSET))); 60 } 61 62 /** 63 * 對稱密鑰公鑰加密 64 * 65 * @param publicKey 66 * 網聯公鑰字符串 67 * @param content 68 * 密鑰原文 69 * @return 加密密文 70 * @throws Exception 71 */ 72 public static String encryptByPublicKey(String publicKey, String content) throws Exception { 73 String result = null; 74 try { 75 Cipher cipher = cipher = Cipher.getInstance("RSA"); 76 cipher.init(Cipher.ENCRYPT_MODE, convertPublicKey(publicKey)); 77 byte[] encoded = cipher.doFinal(content.getBytes(CHARSET)); 78 result = Base64.encodeBase64String(encoded); 79 } catch (Exception e) { 80 81 } 82 return result; 83 } 84 85 /** 86 * 對稱密鑰密文解密 87 * 88 * @param privateKey 89 * 機構私鑰字符串 90 * @param content 91 * 網聯對稱密鑰密文 92 * @return 對稱密鑰明文 93 * @throws Exception 94 */ 95 public static String decryptByPrivateKey(String privateKey, String content) throws Exception { 96 String result = null; 97 try { 98 Cipher cipher = cipher = Cipher.getInstance("RSA"); 99 cipher.init(Cipher.DECRYPT_MODE, convertPrivateKey(privateKey)); 100 byte[] encoded = cipher.doFinal(Base64.decodeBase64(content.getBytes(CHARSET))); 101 result = new String(encoded, CHARSET); 102 } catch (Exception e) { 103 } 104 return result; 105 } 106 107 public static PrivateKey convertPrivateKey(String keyStr) throws Exception { 108 PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(keyStr.getBytes(CHARSET))); 109 KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 110 return keyFactory.generatePrivate(keySpec); 111 } 112 113 public static PublicKey convertPublicKey(String keyStr) throws Exception { 114 CertificateFactory certificateFactory = CertificateFactory.getInstance("X509"); 115 Certificate certificate = certificateFactory 116 .generateCertificate(new ByteArrayInputStream(Base64.decodeBase64(keyStr.getBytes(CHARSET)))); 117 return certificate.getPublicKey(); 118 } 119 120 public static void main(String[] args) throws Exception { 121 // 獲取私鑰 122 String privatekey = CertConfig.PrivateKey; 123 String publicKey = CertConfig.PublicKeyZ; 124 125 String sign = sign(privatekey, "DREAMING.XIN"); 126 127 System.out.println("加簽結果:"+sign); 128 129 boolean vertify = vertify(publicKey,"DREAMING.XIN",sign); 130 131 System.out.println("驗簽結果: "+vertify); 132 } 133 134 }

密鑰java類:

1 package xin.dreaming.rsa; 2 3 public class CertConfig { 4 5 public static final String PrivateKey ="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDtO4yND2EGec6InFURBZtE6TV5RB/GXmkrSADSor/zPEQsYT3TxD/d3snwOStAfyKbUEIdNHfOKYGLcnEUX7mokQoXn7/0Vtp6XV2+VuL/s8+Dx79iPQ1vpCqn8TN+VlL9bmL5gdd0jenmEJJRmWHV4DTypzXyLSRjMzZsOjcJMeXQDPGDxE5J8JIsz9mh9fggQjDnpPzjcF6X3qFBwq/w/LwZ/g8s2CdLQeql3TJ0hUFhrCt/Ii5bFaYQ/KbUbCXylQHpQ86tRicpSmMLVqNZuH0MnDAdhWVq3qMbYqsb8IkrlPKXh1VrZRI+lc0EvLyT8lvb6DISFbx7drJg4Y+3AgMBAAECggEAT1xwdHAEoUn2UbUasAsUGkV54gtsJcxHmncH728Kj7BFjiMpr8IjK3HwVDCLy5O8XADJXUPEIG+6KpAqTAqJ7V435hdG+9JiXDUHuzkNz0Sz0v3rhE2wRPzCWFRUSZtPQADBk35gOVmQOaqpiCqrlAThMZvGbDG1zom/Vw1Sg/xMY/Mloj/ycfGtNkVB05es5mcwWFJC+Mvj/qHJGc7PM5rw98+nFWZanzwvhrdQdSsA18FalCmeF3+n1bcOt+gCnZuq7/ZFpEuqK6dsj6mIZ5fnAB3P7S63foSQkqSYS8tFH+o8CU898wdJ1Ba26XnQ2ghX5X9zWP+oTYzuVPV1gQKBgQD5VzSr6fsj3CrjLuwQ7LqDemXC8n7AUDDQ5Z87yxpZZtPxu9CYdxxfBKfWjYskSTLm6DPyNQ8eqmpARBLGxRIKzXQF+5wLGqxr0FwSoBUM47uR68ChY4v4T84dxQ9RpNvbn8C+lPru+F2hrCWLwBnY1IGFxPWrro8qVUJCrvd+RwKBgQDzkY7ggsmf68kmVAj2JMwZ01o5vsCQbMZu+v79o5cvUxEmcQo2hb+0l/qizA/Vse/fOs9l7GDZN4nSwFzE141cVC7BmIqZpYxYSksGTlH7JcnuWdSZA4G1cK1rbJdR/M6zTPgTFkRjD1egFIK3P02fXu44toFkJb6CrNicssHrEQKBgC9Ma6Fw8UMMMNaHwCA1x+vI/CTO+1xf2eLGrD4beRQcfXgNuLQzZB5iM7RvhUWM3SsQQUpg5k1a5mzqfOVX3ORPtQKtiBxTIwIQtGaUF2oqiRpVLmVvDM491UuwZgeGzm4LD/UXLcLHOnvAvB6WglCvfyJxCmlW47GUGs2rgydhAoGBAJJ2t/T3kKjSz1118QGatQTenAXXV9JBJr37vrPk2HfDuq9kECEjIllFfpjAntEAs96Hbcm7b62PARizRdW0TLP1hzwxLz8fVpqM6jp7hD7CxX/HktkES85AWHgdj4zkuaMGKLLJlAwBYM7JJqVsso+gNR3zWTFQpRPNPmBT+doRAoGBANhtqTKRAcn4lBam2cOOMCLIrU+UEDDWfzgUUeBHFYTwwPLgRXCRyvgP9B+1r9IR3v18Rb0IJo2p0oDe7l/QM7iR53Vg2HVQ5vlgyvWrLODZQMss52vgvZJhetzFNxkT0UmGyug5Uy1Wf+BUH4lHgCnBOOUxgZoZdVJtgCyLr549"; 6 //簽名私鑰 7 //public static final String PrivateKey ="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC6WywVY3QjRicJyIWB4Huw3aEkUH4oOZQVpAPo1KL2yxx11A2l6WmdbsngxqI/fJIe69RyGbmzZr9vRD4VOlinRCbRJ4WXH061COG6lFBUi/K6hVX4HBgwE8svbNNnFuwLQBeds5XXWSKMSLTf9XTz+uiJLJA+pYaVMmrNzsEgN8nZTPjZrCWyzaAo1Wz7NOH1gLxRDpPYvIzufDxLKby0l5huqszQSsiEzV8eff/axskBLuOkCGd4LznwPvnzMU40JVMt1Bsh5XWpqY+A+woyslhPzax62u5af2dZ7cs8loL9WbA7Ia3ZuhfPwKF3MpUEKW+wyVyfIQc/uhaOea5zAgMBAAECggEAc11bpgYCcI/OPP04wRUyHWSmjC+UWdyDMv5tOSbhl7xXaw4SQOKFcmOScCcna/v3DVNbGiOY1VnHKt9pO4T6Otoy2YoI5mwIMoREEVgdfqmAYz2F4emqg6DNSReqq4gCKljMBeGV4lGY1JVx+68dbqimabz/sviPny8t9SiIYCN5/FcQtsH93EZPQSsWe047Fc5UgVmXdV3x+Bc+cCdso/P0yoCx18VL6krxF3LhOcQs53765rA6yWYFLActV65x32rn9P6+FGLg9nFyERaKujyRujZtSlBzfYi/L+/38wdddt2N+/R0JdooLvHgmlWlRndQcs81Ah/SM81k2r/V2QKBgQDsL0MgE2MQ4OcO8rBC0K+DTioOTNkrAiwxAiPlKW0n9jp5tr4KLRPcRU5gg34nskPfgxOU6gDK7HGvochPuAwv+3LP2lNGdpLsUtx00co0rmwHSiu3fr3iEnHG3pKCJvHW+KfZpqsgLksiXKCWH7AsSEVLwFgiLE8ibg995IuDjwKBgQDJ/bOSITae8uaGqiNs5bti9PEWhgDRR8FPMiTmBH2yllEzwLr94oPMdHTIXOW0U4+8ZcuV3et1vf5tjUbSHfGp1fRmHKJPjEPlLy9VfU6UiDxFdRChQPTWB1//l+bWJjYMrbsthwoEBeP+vL4hNfBkwgvCza7fAmDK60zDe2ck3QKBgDeGOOKejCiYptlFxpg+lTRqOMrZ2CgbP6ZZ2XRzU70UTtT0WCLuS//5rx5Ta2ILr5cpKn5UsNED2wouH3hWTU8ubuRccD1dfNbf+AHinAXch3sDPdnKivtN2L+m7Yx5eVtPY65wV0SefX1bh0kjs/gFGX1gf5exEP2IIE45X28TAoGBALfuEj9FiTRR4QLNGLcHtouUmZg167amTWutMJZXjpI5eLXUkTGwuu1JOjJdDToYQTF/zFOqocc0e+MMG2onpDBPyF3XQyGGiyi9v69sDEsKhz+EKuF7gbcHPi5DBwsH/n2rEV+SsNca+hKzkboyILXPUOBRZSRjSPpeKydyTmjtAoGAeEp+MatIX+SohXJe4uYak3zuoOCze4XqS9rH4wecSHn2J7jfOoZg2UzvOpEeKpfVngC6qfet8F2liWQ4UMcFC+ydnWfmVOF0KjkdV5gU8rlcF+mTs0cEOTF+3xf+nDMFkjC8XrQ5ZOqdSvDGkVfvFyzUkZ9DmqHbR3LQlf6OTFk="; 8 //驗簽公鑰 9 public static final String PublicKey ="MIIESDCCAzCgAwIBAgIFQAAGiCkwDQYJKoZIhvcNAQELBQAwXTELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEcMBoGA1UEAwwTQ0ZDQSBBQ1MgVEVTVCBPQ0EzMTAeFw0xNzAyMDkwMjI5NDdaFw0yMjAyMDkwMjI5NDdaMGkxCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhPQ0EzMVJTQTENMAsGA1UECwwERVBDQzEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMTEdMBsGA1UEAwwURVBDQ0B3YW5nbGlhbkBaMTIzQDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZEowS2/FFgW/MNp1k+NUROPfQ1HHwN7N3dM6Q70T6hSOVYEpTVWTjrWYkcuZIItf4K1MGgzDuvJRJBefP1T4MpW1sfBzxJ+IJP5GGEFLNMXOR5+9f315eebULdfFfVH7qmrFuEsmpnu+t93AeZx2f4xQEtYEAU9j3+dUzx0qVNaVDa0oeUMlt209THbamgltQNhMRZpEQnKdLrPcS9lJ9vWwU9Ro3VSxsbCXSWnTs3tG2JUdsov22I6MV+vTassz5Da/uhhFCh7T6vGkplHnEcrtDb1hDvn0uyCHr+kONV1BEkYha0/TDU7Py8mC2I8tuZVERMxSlRr5mj2QAJDWNAgMBAAGjggEBMIH+MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovLzIxMC43NC40Mi4xMTo4MDg1L29jc3Bfc2VydmVyL29jc3AvMB8GA1UdIwQYMBaAFJo9tK5lWPvOWgV4JqBtKwSGusbsMAwGA1UdEwEB/wQCMAAwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovLzIxMC43NC40Mi4zL09DQTMxL1JTQS9jcmw4OS5jcmwwDgYDVR0PAQH/BAQDAgbAMB0GA1UdDgQWBBSAsKx7L3tslIlUn7nm21OT5uzXfDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDQYJKoZIhvcNAQELBQADggEBAIpP7adHCgrPoTGYLpZ4ENZO7t24G29ksaBd/BjmjEAAU1vqJkWPrrkgbr/llfpYJpMY/lYWUJFctNKp3TwU3ZMIKQ9fQAdi2mAPqWU8GBw/8C5FetBIBxB3g13C76KASgYCMTMTgPbdrRmFSyE0mOubcMwPC1g/S07TKsmGKMs5QaTZ36VAJU21fXXa/sqGeUSKzdmChoNkug8At+shnEU10ogSXfSv55lPGMISYeg7h3Hk2lwbOX0t6ugXgn6RjMDHqB5ZVDF0Kvrzmt++xFhTI5uyNk3t1Wr2Uz3MsDI4SNLcMu7EaTf8rrNPlu3/qsNCXufoIso3UVe56KRfqws="; 10 //驗簽公鑰 11 public static final String PublicKeyZ ="MIIEWzCCA0OgAwIBAgIFQAJQhUAwDQYJKoZIhvcNAQELBQAwXTELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEcMBoGA1UEAwwTQ0ZDQSBBQ1MgVEVTVCBPQ0EzMTAeFw0xNzA5MjcwODQwMzRaFw0yMDA5MjcwODQwMzRaMIGBMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOQ0ZDQSBSU0EgT0NBMzExETAPBgNVBAsMCExvY2FsIFJBMRkwFwYDVQQLDBBPcmdhbml6YXRpb25hbC0xMSswKQYDVQQDDCIwNTFAVGVzdDE1MDY1MDE2MzQ2MDJAWkgxMjM0NTY3OEAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7TuMjQ9hBnnOiJxVEQWbROk1eUQfxl5pK0gA0qK/8zxELGE908Q/3d7J8DkrQH8im1BCHTR3zimBi3JxFF+5qJEKF5+/9Fbael1dvlbi/7PPg8e/Yj0Nb6Qqp/EzflZS/W5i+YHXdI3p5hCSUZlh1eA08qc18i0kYzM2bDo3CTHl0Azxg8ROSfCSLM/ZofX4IEIw56T843Bel96hQcKv8Py8Gf4PLNgnS0Hqpd0ydIVBYawrfyIuWxWmEPym1Gwl8pUB6UPOrUYnKUpjC1ajWbh9DJwwHYVlat6jG2KrG/CJK5Tyl4dVa2USPpXNBLy8k/Jb2+gyEhW8e3ayYOGPtwIDAQABo4H8MIH5MD8GCCsGAQUFBwEBBDMwMTAvBggrBgEFBQcwAYYjaHR0cDovL29jc3B0ZXN0LmNmY2EuY29tLmNuOjgwL29jc3AwHwYDVR0jBBgwFoAUmj20rmVY+85aBXgmoG0rBIa6xuwwDAYDVR0TAQH/BAIwADA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vMjEwLjc0LjQyLjMvT0NBMzEvUlNBL2NybDQ4NDYuY3JsMA4GA1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQU5afVQ1AjMzdZ5o/OVDBU5zw+ZgswHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMA0GCSqGSIb3DQEBCwUAA4IBAQAszGTg4RRzqrJrf598sou0WKLjFUoK2hcnHaUJv9A3Zkbu5XCy5SrBrYOibw0Uw5zwM6cKz0s7YkKusrwDUKg+QRodQvFvMqVI0BsJguc3cqOCy0dvibWseKFlEc+C1ffx1yVK/2ElrLW6TUPixKSzyEo6h852z2w575+/S1S9XZbdtS7OXozA4zfxy5D32QToNCqPFundhB7HYPMbQaZr+sjsZ7sBqKaPq6TRVUcdVQ1OXatK2O4mRwQDHQFqkBLnrijiht6+p2YUpKACbJREqylN+ToJMYcdIlRpQ3DlWZPSuzbWgtw5tqH4bLFaOG07wl7Q1fOOFaVScPzqFRRB"; 12 13 //銘感信息加密 14 public static final String MGJMKEY = "MIIESDCCAzCgAwIBAgIFQAAGiCkwDQYJKoZIhvcNAQELBQAwXTELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEcMBoGA1UEAwwTQ0ZDQSBBQ1MgVEVTVCBPQ0EzMTAeFw0xNzAyMDkwMjI5NDdaFw0yMjAyMDkwMjI5NDdaMGkxCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhPQ0EzMVJTQTENMAsGA1UECwwERVBDQzEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMTEdMBsGA1UEAwwURVBDQ0B3YW5nbGlhbkBaMTIzQDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZEowS2/FFgW/MNp1k+NUROPfQ1HHwN7N3dM6Q70T6hSOVYEpTVWTjrWYkcuZIItf4K1MGgzDuvJRJBefP1T4MpW1sfBzxJ+IJP5GGEFLNMXOR5+9f315eebULdfFfVH7qmrFuEsmpnu+t93AeZx2f4xQEtYEAU9j3+dUzx0qVNaVDa0oeUMlt209THbamgltQNhMRZpEQnKdLrPcS9lJ9vWwU9Ro3VSxsbCXSWnTs3tG2JUdsov22I6MV+vTassz5Da/uhhFCh7T6vGkplHnEcrtDb1hDvn0uyCHr+kONV1BEkYha0/TDU7Py8mC2I8tuZVERMxSlRr5mj2QAJDWNAgMBAAGjggEBMIH+MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovLzIxMC43NC40Mi4xMTo4MDg1L29jc3Bfc2VydmVyL29jc3AvMB8GA1UdIwQYMBaAFJo9tK5lWPvOWgV4JqBtKwSGusbsMAwGA1UdEwEB/wQCMAAwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovLzIxMC43NC40Mi4zL09DQTMxL1JTQS9jcmw4OS5jcmwwDgYDVR0PAQH/BAQDAgbAMB0GA1UdDgQWBBSAsKx7L3tslIlUn7nm21OT5uzXfDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDQYJKoZIhvcNAQELBQADggEBAIpP7adHCgrPoTGYLpZ4ENZO7t24G29ksaBd/BjmjEAAU1vqJkWPrrkgbr/llfpYJpMY/lYWUJFctNKp3TwU3ZMIKQ9fQAdi2mAPqWU8GBw/8C5FetBIBxB3g13C76KASgYCMTMTgPbdrRmFSyE0mOubcMwPC1g/S07TKsmGKMs5QaTZ36VAJU21fXXa/sqGeUSKzdmChoNkug8At+shnEU10ogSXfSv55lPGMISYeg7h3Hk2lwbOX0t6ugXgn6RjMDHqB5ZVDF0Kvrzmt++xFhTI5uyNk3t1Wr2Uz3MsDI4SNLcMu7EaTf8rrNPlu3/qsNCXufoIso3UVe56KRfqws="; 15 }

輸出結果:

加簽結果:fbolWDixTffN2oeMSpAUkbDvQ3ZXNeEUPgGOgQ3boCTIft34kIA8LtSwRMD+uAbKSk6vZffDb2Zro7IDGhS8lv35Bz23zs9j04GMB4d55EnjqjyRQAQer8fTujKMPHa2JUPjlUau6wjJaK50A8+TysC7Qq4uz69T0iXtTJPvFxwjCeXL0fShIuD4UQwJkQk7Mqqvzdy71dPs94EobMVEX84lSkfTwZKCwAR58NbYdgWWGKcwbU/N+riU6NyiCVr1rj+j9LqUrgW0HHDfp8hNcRm1lluGgk7BrjD7ZBpdYwuhbA1v2IGEsdhYVyMHdFpg6Ta3uoHoCJRJhtMp1Hw0qw== 驗簽結果: true

說明:

  一般rsa加密解密,加簽驗簽都會與BASE64編碼或url編碼結合使用。

參考:

  1、https://baike.baidu.com/item/RSA%E7%AE%97%E6%B3%95/263310?fr=aladdin

?

轉載于:https://www.cnblogs.com/xq1314/p/7895471.html

總結

以上是生活随笔為你收集整理的RSA非对称加密简析-java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产成人61精品免费看片 | 国产精品99久久久久的智能播放 | 中文字幕日韩伦理 | 中国精品一区二区 | 久久精品亚洲精品国产欧美 | 91热爆在线观看 | 久久国产片 | 久青草电影 | 色婷婷国产精品一区在线观看 | 天天弄天天干 | 手机av电影在线观看 | 日韩欧美一区二区三区在线观看 | 亚洲一区二区天堂 | 日韩欧美一区视频 | 中文av一区二区 | 四虎国产精品免费观看视频优播 | 91九色porn在线资源 | 99精品视频在线 | 91丨精品丨蝌蚪丨白丝jk | 精品99免费视频 | 少妇搡bbbb搡bbb搡69 | 成年人三级网站 | www.狠狠色.com | 亚洲一区精品人人爽人人躁 | 欧美一区二区三区在线 | 一本色道久久综合亚洲二区三区 | 欧美精品久久久久a | 999久久久免费视频 午夜国产在线观看 | 狠狠色综合欧美激情 | 在线观看色网 | www.干| 探花视频免费观看高清视频 | 美女国内精品自产拍在线播放 | 丁香六月婷婷激情 | www.com久久久 | 人人干人人干人人干 | 天天综合成人 | 亚洲国产精品一区二区久久,亚洲午夜 | av看片网址 | 久久男人免费视频 | 香蕉影视在线观看 | 免费黄色激情视频 | 这里有精品在线视频 | 色偷偷888欧美精品久久久 | 99中文在线 | 999国内精品永久免费视频 | 中文字幕亚洲国产 | 久久综合欧美精品亚洲一区 | 欧美福利片在线观看 | 国产香蕉av | 黄色av一级片| 国产午夜三级一二三区 | 91视频高清免费 | 精品人人爽 | 2022国产精品视频 | 免费观看午夜视频 | 天天干.com | 天天操天天舔天天干 | 久久曰视频 | 波多野结衣小视频 | 欧美日本啪啪无遮挡网站 | 一级片免费在线 | 六月丁香社区 | www视频免费在线观看 | 亚洲电影成人 | 成人久久免费视频 | 色婷婷88av视频一二三区 | 中文字幕一区二区三区在线观看 | av在线网站免费观看 | 特级黄录像视频 | 亚洲综合狠狠干 | 黄色三级网站 | 9999在线观看 | 欧美视频18| 色婷婷电影网 | 91mv.cool在线观看 | 五月婷婷一级片 | 欧美激情亚洲综合 | 97超碰人人澡 | 日韩免费福利 | 国产精品欧美日韩在线观看 | 综合网伊人 | 97电影网手机版 | 久九视频 | 国产成人精品一区二区三区网站观看 | 在线看v片| 在线国产日韩 | 一区二区视频电影在线观看 | 中文字幕精品www乱入免费视频 | 欧美高清成人 | 精品久久久久国产 | 日本久久不卡视频 | 国产在线国产 | 精品国产人成亚洲区 | 午夜精品一区二区三区视频免费看 | 久久精品123 | 国产精品一区二区三区电影 | 黄污视频大全 | 亚洲高清网站 | 久草在线一免费新视频 | 毛片网在线 | 国产午夜亚洲精品 | 叶爱av在线 | 成人在线视频免费 | 人人网人人爽 | 成人小视频在线免费观看 | 一区二区三区影院 | 日韩中文在线视频 | 天天干,天天射,天天操,天天摸 | 国产69精品久久99的直播节目 | 中文字幕免费久久 | 日日躁你夜夜躁你av蜜 | 欧美精品乱码99久久影院 | 色香蕉视频 | 国产免费一区二区三区最新 | av怡红院 | 欧美性做爰猛烈叫床潮 | 天天草网站 | 国产五月色婷婷六月丁香视频 | 久久福利在线 | 久操中文字幕在线观看 | 久久精品视频在线播放 | 午夜国产在线 | 色资源在线观看 | 91传媒在线 | 久久这里有精品 | 中文字幕在线网址 | 热久久免费视频 | 国产精品一区二区三区电影 | 亚洲专区欧美专区 | 久久精品高清视频 | 国产精品免费视频一区二区 | 超级碰碰碰视频 | 久久av网址 | 精品国产视频在线 | 国产精品乱码一区二三区 | 日韩欧美网址 | 久久久久久久久久影院 | 天天碰天天操 | www..com毛片 | 香蕉久草 | 亚洲一区二区观看 | 国产青春久久久国产毛片 | 久久久精品久久日韩一区综合 | 亚洲欧美国产日韩在线观看 | 中文字幕亚洲国产 | 日韩精品久久久久久久电影99爱 | 久久久网站 | 亚洲五月婷 | 久久综合激情 | 97香蕉超级碰碰久久免费软件 | 成人影视免费 | 日日天天干 | 国内精品久久久精品电影院 | 在线超碰av | 国产亚洲精品电影 | 国产色一区| 国产特级毛片aaaaaa毛片 | 欧美在线99 | 成人av电影网址 | 国产精彩在线视频 | 成人免费看电影 | 综合久久久久久久 | 激情综合五月婷婷 | 一区二区视 | 美女视频又黄又免费 | 国产成人精品一区二区三区 | 色诱亚洲精品久久久久久 | 亚洲国产日韩精品 | 久久91网| 国产黄影院色大全免费 | 国产又粗又猛又色 | 久久夜色精品国产欧美一区麻豆 | 国产美女精品视频免费观看 | 国产精品成人av久久 | 伊人狠狠干 | 五月天综合网站 | 91精品国产三级a在线观看 | 国产精品九九久久久久久久 | 久久国产精品成人免费浪潮 | 成人毛片久久 | 久久精品国产亚洲a | 日韩性xxxx | 这里只有精品视频在线观看 | 夜夜操天天干, | 国产色综合天天综合网 | 欧美日韩一区二区免费在线观看 | 天天夜操 | 成人动漫一区二区 | 7777精品伊人久久久大香线蕉 | 一级黄色a视频 | 日韩成人黄色av | 香蕉网在线播放 | 久久国产高清 | 亚洲特级片| 国产精品免费在线视频 | 美女视频a美女大全免费下载蜜臀 | av在线等 | 中文字幕av全部资源www中文字幕在线观看 | 欧美精品二 | 久久免费的精品国产v∧ | 四虎5151久久欧美毛片 | 成人羞羞视频在线观看免费 | 日韩精品中字 | 99热官网 | 久久99国产综合精品免费 | 五月婷婷毛片 | 日韩免费观看一区二区 | 91九色蝌蚪国产 | 久草在线免费看视频 | 精品久久久久久久久中文字幕 | 四虎成人在线 | 六月激情久久 | www.成人久久 | 日韩免费三区 | 视频国产一区二区三区 | 久久免费视频99 | 色久天 | 国产精品一区二区精品视频免费看 | 在线观看你懂的网址 | 免费在线观看不卡av | 黄色av网站在线免费观看 | av成人在线看 | 在线看片中文字幕 | 欧美精品一区二区在线观看 | 国产一在线精品一区在线观看 | 亚洲九九影院 | 2023亚洲精品国偷拍自产在线 | 免费在线观看毛片网站 | 麻豆精品在线视频 | 91精品视频免费在线观看 | 久久黄色免费观看 | www.久久91 | 国产视频精品免费 | 久久久久久久久久影视 | 免费十分钟 | av高清一区二区三区 | 国产精品剧情在线亚洲 | 91精品专区 | 91福利专区| 在线看成人片 | 毛片无卡免费无播放器 | 久久精品中文字幕免费mv | 国产精品99久久久久久小说 | 国产香蕉视频在线观看 | 六月久久婷婷 | 婷婷六月丁 | 久草电影免费在线观看 | 91精品小视频 | 91视频首页| 国产成人a亚洲精品 | 色综合五月天 | 久久国内精品 | 国产一级做a| 日韩大片在线免费观看 | 成人aⅴ视频 | 黄色大片视频网站 | 亚洲欧美精品在线 | 在线视频手机国产 | 日日久视频 | 久草| 欧美日韩破处 | 在线久久| 久久影院亚洲 | 成人av教育 | 99在线精品视频观看 | 成人三级视频 | 中文字幕免费高清av | 香蕉视频网站在线观看 | 一区二区不卡高清 | 91精品国产麻豆 | 久久国内精品视频 | 免费看黄色毛片 | 久久精品一区二区三区国产主播 | 国产一区在线视频观看 | 国产91精品看黄网站在线观看动漫 | 国产中文字幕网 | 在线亚洲天堂网 | 久久人人爽人人片 | 国产伦理久久精品久久久久_ | 中文字幕在线观看第一区 | 日韩在线影视 | 91精品国自产在线 | 国产69精品久久99不卡的观看体验 | 一区二区视频网站 | 久久精品福利 | 国产真实精品久久二三区 | 91视频免费网址 | 一区二区三区观看 | 国产精品久久久久久久久久久免费看 | 人人看人人做人人澡 | 91在线播放国产 | h网站免费在线观看 | 日韩成人精品一区二区 | 国模一二三区 | 国产日产精品一区二区三区四区的观看方式 | 日韩精品一卡 | 超碰免费观看 | 午夜久久久久久久久久影院 | 探花视频在线观看+在线播放 | 黄色成人毛片 | av片在线观看免费 | 精品国产精品久久 | 免费福利在线播放 | 国产精品久久久久久久久久久久冷 | 91tv国产成人福利 | 在线观看日韩中文字幕 | 国产一区在线观看视频 | 日韩精品免费一区 | 免费在线观看污 | 91超级碰碰 | 久久综合九色综合久久久精品综合 | 99国内精品久久久久久久 | 色在线观看网站 | 日韩精品中文字幕在线播放 | 国产一区二区高清视频 | 日韩首页| 天天色天天干天天 | av丁香花 | 日日日操操 | 五月激情久久 | 99免费在线观看 | 亚洲综合成人在线 | 亚洲精品影视在线观看 | 99re8这里有精品热视频免费 | 欧美国产日韩一区二区 | 一级成人免费 | 成人在线播放免费观看 | 免费观看性生活大片 | 在线观看免费一级片 | 久久99国产精品自在自在app | 日韩在线免费电影 | 日日夜夜操操 | 久草线 | 天天操天天爽天天干 | 亚洲精品福利在线观看 | 97av超碰| av黄色av | 久草在线免费资源 | 国产成人一区二区三区在线观看 | 中文字幕在线观看网址 | 亚洲精品高清视频在线观看 | 精品99视频 | 国产女教师精品久久av | 亚洲jizzjizz日本少妇 | 亚洲精品影视在线观看 | 成人午夜影院在线观看 | av电影在线观看完整版一区二区 | 日韩三级av | 人人干天天射 | 婷婷综合伊人 | 亚洲精品电影在线 | 日韩二区在线播放 | 亚洲免费激情 | 精品久久久一区二区 | 久久国内精品99久久6app | 国产午夜精品福利视频 | 在线国产片 | 九月婷婷色| 在线 国产一区 | 午夜视频免费 | 狠狠插狠狠操 | 国产精品午夜av | 8x成人免费视频 | 99视频在线观看视频 | 久久极品 | 伊人五月在线 | 国语精品免费视频 | 亚洲综合射 | 久久久久久久久黄色 | 91av中文 | 欧美综合国产 | 狠狠网站 | 99热在 | 99精品免费久久久久久日本 | 日本中文乱码卡一卡二新区 | 亚洲一区二区精品视频 | 精品视频在线免费观看 | 国产在线色站 | 欧美性大胆 | 国产成人1区 | 亚洲一二三在线 | www.色婷婷.com | 国模精品在线 | 久99久在线视频 | 免费在线日韩 | 亚洲一区精品二人人爽久久 | 96久久久 | 亚洲另类xxxx | 国产成人av在线 | 99久久精品久久亚洲精品 | 五月宗合网 | 日韩视频中文 | 三级av在线播放 | 国产一区二区三区网站 | 九草在线观看 | 国产精品99久久久久人中文网介绍 | 青青河边草免费 | 91精品国产综合久久久久久久 | 久久精品播放 | 六月婷婷久香在线视频 | 夜夜爽夜夜操 | 国产日韩视频在线观看 | 国产精品1区2区在线观看 | 91.麻豆视频 | 色五月色开心色婷婷色丁香 | 一级淫片在线观看 | 韩国精品视频在线观看 | 久要激情网| 狠狠色噜噜狠狠狠狠 | 国产欧美综合视频 | 天天色天天草天天射 | 97超碰国产精品 | 日韩丝袜视频 | 国产手机在线观看视频 | 国产精品观看 | 激情综合网在线观看 | 99热在线精品观看 | 国产精品久久久久久久久久免费 | 国产97在线播放 | 久久伊人色综合 | 国产一区二区久久精品 | 人人爽人人爱 | 波多野结衣最新 | 97视频精品 | 中文字幕av最新 | 丝袜美腿在线 | 国产99精品 | 国产精品久久久久久超碰 | 最近中文字幕视频完整版 | 亚洲无在线 | 欧洲av不卡 | 91在线蜜桃臀 | 久99久精品视频免费观看 | 在线电影a | 国产精品网红福利 | 成全在线视频免费观看 | 国产亚洲精品久久网站 | 久久精品国产免费看久久精品 | 久久国产精品一区二区 | 日本午夜在线观看 | 中文字幕乱码视频 | 一区二区中文字幕在线观看 | 欧美成人在线免费观看 | 成年人国产视频 | 一区二区三区四区影院 | 日韩中文字幕视频在线观看 | 国产精品免费一区二区三区 | 久久久久伦理电影 | 欧美怡红院视频 | 日韩高清在线一区二区 | 狠狠狠的干 | 久久久精品成人 | 亚洲国产欧美在线人成大黄瓜 | 亚洲一级片免费观看 | 国产美女视频网站 | 久久久人 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 国产在线999| 四虎国产精品永久在线国在线 | 高潮毛片无遮挡高清免费 | 亚洲精欧美一区二区精品 | 97在线播放 | 久久久午夜视频 | 欧美精品一区二区在线观看 | 一区中文字幕电影 | 色无五月 | 婷婷中文字幕在线观看 | 成人91视频 | 美女黄频在线观看 | 久久成视频| 日韩美在线观看 | 有码一区二区三区 | 91女神的呻吟细腰翘臀美女 | 91精品在线视频 | 精品国产一区二区三区免费 | 久久国产精品免费一区二区三区 | 欧美激情综合五月色丁香 | 黄色毛片一级片 | 成人黄色小说视频 | 视频在线99| 夜夜骑日日操 | 国产亚洲精品久 | 欧美日韩3p | av资源免费在线观看 | 久久桃花网 | 久久久久久久久毛片精品 | 国产精品中文字幕在线 | 精品1区2区3区 | 香蕉视频一级 | 去干成人网 | 成人动态视频 | 亚州人成在线播放 | 亚洲精品在线免费播放 | 欧美日韩一级视频 | 久久久电影网站 | 激情综合网五月激情 | 日韩天堂在线观看 | 91麻豆精品国产91久久久无限制版 | 99视频在线免费看 | 丁香5月婷婷 | 五月婷婷综合在线 | 免费看日韩| 国产精品自产拍在线观看 | 天天干天天搞天天射 | 欧美一区二区日韩一区二区 | 激情欧美国产 | 久久久国产精品亚洲一区 | 肉色欧美久久久久久久免费看 | 久久成人资源 | 国产高清在线看 | 亚洲在线视频网站 | 6080yy午夜一二三区久久 | 黄色av大片 | 国产精品一区二区在线免费观看 | 日韩精品免费一区 | 日韩高清dvd | 欧美色久 | 欧美日韩免费观看一区=区三区 | 97国产精品亚洲精品 | 亚洲高清不卡av | 四虎影视成人永久免费观看亚洲欧美 | 午夜电影一区 | 国产精品久久久久av免费 | 奇米导航 | 99热99热| 久久久久这里只有精品 | 91系列在线 | 99在线免费视频观看 | 免费看成人 | 欧美激情精品一区 | 98久久 | 欧美大片在线看免费观看 | 麻豆影音先锋 | 精品免费一区二区三区 | 五月天欧美精品 | 国产精品美女久久久久久久久久久 | 狠狠成人 | 91爱爱视频 | 国产午夜麻豆影院在线观看 | 激情久久小说 | 久久久久久久久久久成人 | 久久久久 免费视频 | 久久精品五月 | 亚洲区色| 国产精品一区二区三区久久久 | 精品免费一区二区三区 | 亚洲一级黄色av | 久久成人18免费网站 | 国产精品国内免费一区二区三区 | 国产日韩欧美网站 | 91在线公开视频 | 日日爱视频| 久久午夜视频 | 久久免费视频3 | 国产资源中文字幕 | 久久久久久久久爱 | 免费福利影院 | 国产亚洲午夜高清国产拍精品 | 久久综合精品一区 | 国语自产偷拍精品视频偷 | 天天干天天操天天做 | 日韩在线观看你懂得 | 波多野结衣在线播放视频 | 国产小视频在线观看 | 亚洲五月激情 | www黄色com| 日本一区二区三区免费看 | 91精品国产91热久久久做人人 | 黄网站色视频免费观看 | 精品国产一区二区三区日日嗨 | 中文字幕综合在线 | 久久伊人爱 | 天天拍天天色 | 国产香蕉在线 | 国产亚洲成人网 | 天天干天天拍天天操 | 亚洲精品在线观看中文字幕 | 在线观看中文字幕一区 | 99精品免费久久久久久日本 | 久久夜视频| 青青河边草观看完整版高清 | 在线免费精品视频 | 国产精品 日本 | 成人性生交大片免费看中文网站 | 激情欧美xxxx| 国产精品久久久久一区二区三区共 | 中文字幕永久免费 | 激情视频区 | 狠狠干激情 | 免费麻豆视频 | 欧美日韩在线看 | 日韩av有码在线 | 香蕉视频在线观看免费 | 午夜美女福利直播 | 久久在线一区 | 波多野结衣一区二区三区中文字幕 | a色视频 | 久久艹99 | 午夜av电影院 | 岛国精品一区二区 | 青青河边草免费观看 | 亚洲成a人片77777kkkk1在线观看 | 婷婷日 | 亚洲干 | 五月天婷婷免费视频 | 日韩艹| 96在线| 超碰成人av | av一级二级 | 99热这里只有精品久久 | 国产精品久久网站 | 91麻豆精品国产91久久久无需广告 | 亚洲自拍自偷 | 中文字幕 国产精品 | 亚洲午夜av久久乱码 | 天天操福利视频 | 国产精品久久久久久妇 | 天天操夜| 99久久电影 | 丁香婷婷综合激情五月色 | 国产精品亚洲片夜色在线 | 麻豆久久久久 | 国产香蕉视频在线播放 | 国产手机视频在线观看 | 免费大片黄在线 | 久久毛片视频 | 国产精品免费一区二区三区 | 国产精品99免费看 | 日日夜夜骑 | 日韩欧美在线观看一区二区 | 午夜精品久久久99热福利 | 色www. | 久久九九九九 | 久久综合婷婷 | 一级a性色生活片久久毛片波多野 | 欧美日韩国产色综合一二三四 | 深夜福利视频在线观看 | 日韩欧美区 | 国产视频精品在线 | 欧美日韩在线观看不卡 | 伊人久久国产 | 伊人久久av | 日韩中出在线 | 久久久久国产一区二区 | 国产成人a亚洲精品 | 国色天香第二季 | 日韩伦理一区二区三区av在线 | 久久久69 | 日韩欧美一区视频 | 亚洲区色 | 在线免费观看黄网站 | 精品久久久久久国产 | 国产精品mm| 亚洲激情 在线 | 免费视频久久久久 | 亚洲国产资源 | 麻豆91精品91久久久 | 久久久久国产一区二区三区四区 | 免费网站黄 | 国产精品18久久久久久久久 | 欧美日韩另类视频 | 国产 日韩 在线 亚洲 字幕 中文 | 精品国产自 | 久久久精品国产一区二区电影四季 | 99r在线| 91精品电影| 国产黄a三级三级三级三级三级 | 日韩日韩日韩日韩 | 成人精品一区二区三区中文字幕 | 国产精品永久久久久久久久久 | 国产成人精品三级 | 天天操婷婷 | 欧美一级片在线免费观看 | 日韩精品一区二区三区不卡 | 91视频-88av | 国产玖玖精品视频 | 五月婷婷色播 | 九九热99视频 | 久久午夜国产精品 | 三级av免费看 | 碰超人人 | 亚洲精品av中文字幕在线在线 | 一级a毛片高清视频 | 夜夜干夜夜 | 亚洲成人黄 | 婷婷激情综合网 | 国产在线视频一区二区三区 | 国产亚洲精品久 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲综合一区二区精品导航 | 欧美男女爱爱视频 | 国产精品一区二区麻豆 | 黄色毛片视频免费观看中文 | 国产福利免费在线观看 | 操操操人人人 | 亚洲精品在线免费看 | 久久中文欧美 | 久久久国产精品人人片99精片欧美一 | 五月天婷亚洲天综合网鲁鲁鲁 | 97超碰中文字幕 | 99热在线精品观看 | 最近中文字幕在线播放 | 亚洲国产大片 | 日韩二区精品 | 韩国一区二区av | 色姑娘综合网 | 日韩精品一区二区三区免费观看视频 | 欧美 激情在线 | 国产乱码精品一区二区三区介绍 | 午夜精品久久久久久 | 国产四虎在线 | 又色又爽又激情的59视频 | 97精品国产91久久久久久久 | 久久这里精品视频 | 在线观看网站黄 | 天天爱天天草 | 成人午夜电影在线播放 | 久久五月婷婷丁香 | 精品一区二区三区久久久 | 在线观看一区视频 | 91精品推荐 | 免费美女av| 99精品视频在线播放观看 | 国产精品永久在线观看 | www天天操 | 精品美女国产在线 | 国产在线p | 999抗病毒口服液 | 午夜视频导航 | 精品一区二区综合 | 久久久久久看片 | 久久精品国产一区二区电影 | 午夜精品久久一牛影视 | 成年美女黄网站色大片免费看 | 日韩精品中文字幕av | 色网免费观看 | 国产精品视频线看 | 免费a一级 | 久久黄色a级片 | 国产在线观看二区 | 色吊丝在线永久观看最新版本 | 91九色蝌蚪国产 | 国产超碰在线观看 | 久草香蕉在线 | 夜夜夜| 一区av在线播放 | 日本特黄一级片 | 岛国av在线 | 国产a国产a国产a | 国产一线二线三线在线观看 | 天干啦夜天干天干在线线 | 国产精品毛片久久久久久 | 综合婷婷丁香 | 成人午夜电影在线播放 | 亚洲理论片 | 日本黄色a级大片 | 在线 高清 中文字幕 | 中文字幕视频三区 | 久久 在线 | 国产99自拍 | 国产在线精 | 91人人干| 在线视频日韩欧美 | 国产精品免费小视频 | 97人人人人 | 欧美日本不卡高清 | 久久免费视频5 | 国产黄| 麻豆手机在线 | 免费观看第二部31集 | 欧美日韩性视频在线 | 久久a免费视频 | 国产精品成人免费 | 国产999| 成人欧美一区二区三区在线观看 | 国产视频在线观看一区 | 婷婷精品国产一区二区三区日韩 | 伊甸园永久入口www 99热 精品在线 | 亚洲精品乱码久久久久 | 国内精品久久久久影院一蜜桃 | 久久人人爽人人爽 | www.久久爱.cn| 久久综合九九 | 久久久受www免费人成 | www日日| 中文字幕二区在线观看 | 最新日韩在线 | 一区二区视频在线免费观看 | 国产探花视频在线播放 | 99自拍视频在线观看 | 久久久久久97三级 | 欧美日韩精品在线 | av电影免费在线看 | 特级大胆西西4444www | 免费人成在线观看 | 国产精品久久毛片 | 天天干夜夜擦 | 久久综合久色欧美综合狠狠 | 天天操天天怕 | 狠狠色噜噜狠狠狠合久 | 欧美性生活一级片 | 三级性生活视频 | 色偷偷88888欧美精品久久久 | 97视频中文字幕 | 天天爱天天操天天干 | 在线观看av不卡 | 97香蕉视频 | 日韩av一区二区在线播放 | 免费观看av网站 | 亚洲天堂在线观看完整版 | 91亚洲综合 | 亚洲精品综合欧美二区变态 | 丁香六月婷婷综合 | av久久久 | 天天射天天做 | 久久久久99精品成人片三人毛片 | 欧美一级性生活 | 国产亚洲婷婷 | 不卡av在线 | 国产亚洲va综合人人澡精品 | 综合网欧美 | 国产亚洲亚洲 | 九九九视频精品 | 天天鲁天天干天天射 | 亚洲 欧美日韩 国产 中文 | 亚洲成av| 国产一二区免费视频 | 亚洲精品国产精品久久99热 | 9在线观看免费高清完整版 玖玖爱免费视频 | 天天干夜夜操视频 | 中文字幕第一页在线播放 | 成人一区二区三区在线观看 | 午夜精品久久久久 | 色精品视频 | 人人插人人玩 | 精品久久久久久久久久 | 亚洲一区精品二人人爽久久 | 免费在线观看国产精品 | 在线免费黄色毛片 | 美女网站视频一区 | 国产成人精品一区一区一区 | 色综合久久综合中文综合网 | 亚洲精品永久免费视频 | 人人澡人摸人人添学生av | 免费看一级特黄a大片 | 国产视频中文字幕 | 在线а√天堂中文官网 | 久热超碰| 摸阴视频 | 99综合视频| 国产精品永久在线 | 久草在线免 | 精品视频免费久久久看 | 最近最新中文字幕 | a级免费观看| 成年人在线看片 | 伊人黄色网 | 免费在线播放视频 | 精品免费视频123区 午夜久久成人 | 国产免费又爽又刺激在线观看 | 四虎成人免费观看 | 国产精品一区二区三区在线看 | 日韩aⅴ视频 | 亚洲电影第一页av | 99日精品| av一级片网站| 国产在线观| 中文字幕文字幕一区二区 | 97超碰在线免费观看 | 日韩精品免费在线观看 | 人人玩人人添人人澡97 | 久久综合狠狠 | 久久精品视| 天天干夜夜 | 夜夜爱av| 色在线高清 | 色综合天天天天做夜夜夜夜做 | 亚洲精品美女久久 | www中文在线| 在线视频婷婷 | 国产精品久久久久亚洲影视 | 久草在线视频网 | 婷婷精品国产欧美精品亚洲人人爽 | 日韩在线观看视频中文字幕 | 国产最顶级的黄色片在线免费观看 | 欧美性生活久久 | 精品欧美一区二区在线观看 | 99免费在线观看 | 97人人看 | 国产精品一区二区三区在线 | 91精品老司机久久一区啪 | 亚洲精品www. | 天天色影院 | 99视频国产精品 | 岛国av在线不卡 | 97免费视频在线 | 天天干天天操天天入 | 在线视频 你懂得 | 国产群p视频 | 一区 二区 精品 | 99国产精品一区二区 | 97av视频| 天天干天天做 | 国产中的精品av小宝探花 | 久久这里 | 999国内精品永久免费视频 | 91成人破解版 | 在线综合 亚洲 欧美在线视频 | 91精品国产欧美一区二区成人 | 一本色道久久精品 | 麻花豆传媒mv在线观看网站 | 免费在线观看视频一区 | 正在播放国产一区 | 中文字幕在线看片 | 欧美成年网站 | 成人在线免费小视频 | 97av视频在线| 91久久黄色 | 国产精品久久久久久爽爽爽 | 色婷婷色 | 亚洲综合成人婷婷小说 | 亚洲国产成人精品久久 | 婷婷网站天天婷婷网站 | 精品亚洲va在线va天堂资源站 | 在线播放 亚洲 | 精品亚洲视频在线 | 最近中文字幕免费 | 婷婷色吧 | 亚洲精品乱码久久久一二三 | 久久好看| av福利超碰网站 | 久久精品毛片 | 久久久麻豆精品一区二区 | 一区二区视频欧美 | 超碰国产在线观看 | 五月天久久婷 | 久久综合加勒比 | 久久 亚洲视频 | 韩国视频一区二区三区 | 欧美视屏一区二区 | 91.精品高清在线观看 | 成人三级视频 | 99视频久 | 九七视频在线观看 | 少妇高潮冒白浆 | www.91成人 | 天天天天射 | 欧美日韩国产精品一区二区 | 久久精品久久精品久久39 | 精品国产一区二区三区噜噜噜 | 亚洲2019精品| 中文字幕亚洲欧美日韩2019 | 亚洲精品午夜国产va久久成人 | 中国一级片在线观看 | 狠狠色婷婷丁香六月 | 欧美韩日在线 | 亚洲精品在线一区二区 | 999久久国产| 国产精品毛片久久久久久 | 91在线www| 麻豆精品在线视频 | 欧美成a人片在线观看久 | 国产一区国产二区在线观看 | 色a网| 人人爽人人片 | av免费片| 中文字幕在线观看网 | 91在线免费视频观看 | av电影不卡| 亚洲午夜精品久久久 | 国产精品日韩在线观看 | 91超在线 | 天天干天天射天天插 | 国产精品乱看 | 97在线观看免费高清完整版在线观看 | 午夜av片 | 国产精品久久99综合免费观看尤物 | 国产成人在线播放 | 国产免费国产 | 99久久精品国产系列 | 国产精品久久久一区二区三区网站 | 欧美性色综合 | 超碰在线免费福利 | 欧美精品二区 | 国产一级在线播放 | 亚洲va综合va国产va中文 | 日本中文字幕一二区观 | 国产在线久久久 | 免费视频三区 | 九九视频免费在线观看 | 91在线日韩 | 日韩在线观看免费 | 国外成人在线视频网站 | 欧美激精品| 四川妇女搡bbbb搡bbbb搡 | 91麻豆精品国产91久久久久久久久 | 波多野结衣在线视频一区 |