亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? class_symmetric_cipher.html

?? 著名的密碼庫Crypto++的文檔 C++語言的杰作。程序員必備。
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Crypto++: SymmetricCipher Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="namespaces.html"><span>Namespaces</span></a></li>    <li class="current"><a href="classes.html"><span>Classes</span></a></li>    <li><a href="files.html"><span>Files</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>  </ul></div><h1>SymmetricCipher Class Reference</h1><!-- doxytag: class="SymmetricCipher" --><!-- doxytag: inherits="StreamTransformation,SimpleKeyingInterface" --><code>#include &lt;<a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>&gt;</code><p><p>Inheritance diagram for SymmetricCipher:<p><center><img src="class_symmetric_cipher.png" usemap="#SymmetricCipher_map" border="0" alt=""></center><map name="SymmetricCipher_map"><area href="class_stream_transformation.html" alt="StreamTransformation" shape="rect" coords="1319,112,1686,136"><area href="class_simple_keying_interface.html" alt="SimpleKeyingInterface" shape="rect" coords="1696,112,2063,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="1319,56,1686,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="1319,0,1686,24"><area href="class_cipher_mode_base.html" alt="CipherModeBase" shape="rect" coords="942,224,1309,248"><area href="class_weak1_1_1_a_r_c4___base.html" alt="Weak1::ARC4_Base" shape="rect" coords="2073,224,2440,248"><area href="class_block_oriented_cipher_mode_base.html" alt="BlockOrientedCipherModeBase" shape="rect" coords="377,280,744,304"><area href="class_mode_policy_common_template.html" alt="ModePolicyCommonTemplate< POLICY_INTERFACE >" shape="rect" coords="754,280,1121,304"><area href="class_mode_policy_common_template.html" alt="ModePolicyCommonTemplate< AdditiveCipherAbstractPolicy >" shape="rect" coords="1131,280,1498,304"><area href="class_mode_policy_common_template.html" alt="ModePolicyCommonTemplate< CFB_CipherAbstractPolicy >" shape="rect" coords="1696,280,2063,304"><area href="class_weak1_1_1_m_a_r_c4___base.html" alt="Weak1::MARC4_Base" shape="rect" coords="2073,280,2440,304"><area href="class_c_b_c___mode_base.html" alt="CBC_ModeBase" shape="rect" coords="188,336,555,360"><area href="class_e_c_b___one_way.html" alt="ECB_OneWay" shape="rect" coords="565,336,932,360"><area href="class_c_t_r___mode_policy.html" alt="CTR_ModePolicy" shape="rect" coords="942,336,1309,360"><area href="class_o_f_b___mode_policy.html" alt="OFB_ModePolicy" shape="rect" coords="1319,336,1686,360"><area href="class_c_f_b___mode_policy.html" alt="CFB_ModePolicy" shape="rect" coords="1696,336,2063,360"><area href="class_c_b_c___decryption.html" alt="CBC_Decryption" shape="rect" coords="0,392,367,416"><area href="class_c_b_c___encryption.html" alt="CBC_Encryption" shape="rect" coords="377,392,744,416"><area href="class_c_b_c___c_t_s___decryption.html" alt="CBC_CTS_Decryption" shape="rect" coords="0,448,367,472"><area href="class_c_b_c___c_t_s___encryption.html" alt="CBC_CTS_Encryption" shape="rect" coords="377,448,744,472"></map><a href="class_symmetric_cipher-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>interface for one direction (encryption or decryption) of a stream cipher or cipher mode <p><p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00608">608</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e">IV_Requirement</a> { <br>&nbsp;&nbsp;<a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e1cc32e69fe4f385e54d9d482a2ab5a56">UNIQUE_IV</a> =  0, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e4520c4379ee3a1aed95a36e2235ba338">RANDOM_IV</a>, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6eceff3ad4b12bcb6d7b61a5bd543a815c">UNPREDICTABLE_RANDOM_IV</a>, <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6eb659bf6d2c470c50c14bfbab5b2d45ab">INTERNALLY_GENERATED_IV</a>, <br>&nbsp;&nbsp;<a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6ec1d24de3dedd05c28516f452d3ace417">NOT_RESYNCHRONIZABLE</a><br> }</td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_stream_transformation.html">StreamTransformation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#8c9304fff5af593ee68d3cf0d33c06e9">Ref</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a reference to this object,  <a href="#8c9304fff5af593ee68d3cf0d33c06e9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e224d250f716e82c54bc4e4c8930d188"></a><!-- doxytag: member="SymmetricCipher::MandatoryBlockSize" ref="e224d250f716e82c54bc4e4c8930d188" args="() const" -->virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#e224d250f716e82c54bc4e4c8930d188">MandatoryBlockSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns block size, if input must be processed in blocks, otherwise 1 <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#f66ef64545279c01310718af3d627534">OptimalBlockSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the input block size that is most efficient for this cipher  <a href="#f66ef64545279c01310718af3d627534"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8422f6eee08fbc70069e222186e90de"></a><!-- doxytag: member="SymmetricCipher::GetOptimalBlockSizeUsed" ref="b8422f6eee08fbc70069e222186e90de" args="() const" -->virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#b8422f6eee08fbc70069e222186e90de">GetOptimalBlockSizeUsed</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns how much of the current block is used up <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9e603c24d02c4538b77b9d59f36310e"></a><!-- doxytag: member="SymmetricCipher::OptimalDataAlignment" ref="b9e603c24d02c4538b77b9d59f36310e" args="() const" -->virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#b9e603c24d02c4538b77b9d59f36310e">OptimalDataAlignment</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns how input should be aligned for optimal performance <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#26feabde21bc4d1783195969733e3bb0">ProcessData</a> (byte *outString, const byte *inString, size_t length)=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">encrypt or decrypt an array of bytes of specified length  <a href="#26feabde21bc4d1783195969733e3bb0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#0668b78edaea082f87bf3e878c4c02f7">ProcessLastBlock</a> (byte *outString, const byte *inString, size_t length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">for ciphers where the last block of data is special, encrypt or decrypt the last block of data  <a href="#0668b78edaea082f87bf3e878c4c02f7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b7c5bc41b9b5f6443ee32d65ebc044c"></a><!-- doxytag: member="SymmetricCipher::MinLastBlockSize" ref="0b7c5bc41b9b5f6443ee32d65ebc044c" args="() const" -->virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#0b7c5bc41b9b5f6443ee32d65ebc044c">MinLastBlockSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the minimum size of the last block, 0 indicating the last block is not special <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c00f3fcc21f33f11c8efa4de67ff7774"></a><!-- doxytag: member="SymmetricCipher::ProcessString" ref="c00f3fcc21f33f11c8efa4de67ff7774" args="(byte *inoutString, size_t length)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#c00f3fcc21f33f11c8efa4de67ff7774">ProcessString</a> (byte *inoutString, size_t length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">same as ProcessData(inoutString, inoutString, length) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17951cb36412763e0d6bd9696177175d"></a><!-- doxytag: member="SymmetricCipher::ProcessString" ref="17951cb36412763e0d6bd9696177175d" args="(byte *outString, const byte *inString, size_t length)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#17951cb36412763e0d6bd9696177175d">ProcessString</a> (byte *outString, const byte *inString, size_t length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">same as ProcessData(outString, inString, length) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71a9bd33526fc7f227050075e7a78106"></a><!-- doxytag: member="SymmetricCipher::ProcessByte" ref="71a9bd33526fc7f227050075e7a78106" args="(byte input)" -->byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#71a9bd33526fc7f227050075e7a78106">ProcessByte</a> (byte input)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implemented as {ProcessData(&amp;input, &amp;input, 1); return input;} <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c97d3fcac9b9f596ac8a7c69b69524cf"></a><!-- doxytag: member="SymmetricCipher::IsRandomAccess" ref="c97d3fcac9b9f596ac8a7c69b69524cf" args="() const=0" -->virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#c97d3fcac9b9f596ac8a7c69b69524cf">IsRandomAccess</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether this cipher supports random access <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bfbac3f2e43b50d1e16e6b4b2d2e48a"></a><!-- doxytag: member="SymmetricCipher::Seek" ref="7bfbac3f2e43b50d1e16e6b4b2d2e48a" args="(lword n)" -->virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#7bfbac3f2e43b50d1e16e6b4b2d2e48a">Seek</a> (lword n)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">for random access ciphers, seek to an absolute position <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aad9b1fd9cceaf3641f03452da29534b"></a><!-- doxytag: member="SymmetricCipher::IsSelfInverting" ref="aad9b1fd9cceaf3641f03452da29534b" args="() const=0" -->virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#aad9b1fd9cceaf3641f03452da29534b">IsSelfInverting</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether this transformation is self-inverting (e.g. xor with a keystream) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="548b24c9354ebda5cdd06ef1cd79667b"></a><!-- doxytag: member="SymmetricCipher::IsForwardTransformation" ref="548b24c9354ebda5cdd06ef1cd79667b" args="() const=0" -->virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html#548b24c9354ebda5cdd06ef1cd79667b">IsForwardTransformation</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether this is an encryption object <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f31510a192d1121856efe8ad0a9b844"></a><!-- doxytag: member="SymmetricCipher::AlgorithmName" ref="4f31510a192d1121856efe8ad0a9b844" args="() const" -->virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html#4f31510a192d1121856efe8ad0a9b844">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0016ba2d505c23aa85aad49e6c19bb7"></a><!-- doxytag: member="SymmetricCipher::Clone" ref="d0016ba2d505c23aa85aad49e6c19bb7" args="() const" -->virtual <a class="el" href="class_clonable.html">Clonable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_clonable.html#d0016ba2d505c23aa85aad49e6c19bb7">Clone</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this is not implemented by most classes yet <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9e027a141d40929fef51343064d1a69"></a><!-- doxytag: member="SymmetricCipher::MinKeyLength" ref="b9e027a141d40929fef51343064d1a69" args="() const=0" -->virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#b9e027a141d40929fef51343064d1a69">MinKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns smallest valid key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99ebc91e778d51d8481c4c4e8403508b"></a><!-- doxytag: member="SymmetricCipher::MaxKeyLength" ref="99ebc91e778d51d8481c4c4e8403508b" args="() const=0" -->virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#99ebc91e778d51d8481c4c4e8403508b">MaxKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns largest valid key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f900bd0bce7f925cfe8c6002b828d810"></a><!-- doxytag: member="SymmetricCipher::DefaultKeyLength" ref="f900bd0bce7f925cfe8c6002b828d810" args="() const=0" -->virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#f900bd0bce7f925cfe8c6002b828d810">DefaultKeyLength</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns default (recommended) key length in bytes */ <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4fb24fe36b6396c361d83dcc8c647f0"></a><!-- doxytag: member="SymmetricCipher::GetValidKeyLength" ref="d4fb24fe36b6396c361d83dcc8c647f0" args="(size_t n) const=0" -->virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#d4fb24fe36b6396c361d83dcc8c647f0">GetValidKeyLength</a> (size_t n) const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the smallest valid key length in bytes that is &gt;= min(n, GetMaxKeyLength()) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2229cdb9d7ac7e2cf3b02b39ae59ad77"></a><!-- doxytag: member="SymmetricCipher::IsValidKeyLength" ref="2229cdb9d7ac7e2cf3b02b39ae59ad77" args="(size_t n) const" -->virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#2229cdb9d7ac7e2cf3b02b39ae59ad77">IsValidKeyLength</a> (size_t n) const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether n is a valid key length <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7">SetKey</a> (const byte *key, size_t length, const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> &amp;params=<a class="el" href="cryptlib_8h.html#d3205973dd1afa14090a683154c1109c">g_nullNameValuePairs</a>)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set or reset the key of this object  <a href="#df3c29b3ef3af74788a58c7c49887fd7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0401f9c67930805180964bc02ae0ac1c"></a><!-- doxytag: member="SymmetricCipher::SetKeyWithRounds" ref="0401f9c67930805180964bc02ae0ac1c" args="(const byte *key, size_t length, int rounds)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#0401f9c67930805180964bc02ae0ac1c">SetKeyWithRounds</a> (const byte *key, size_t length, int rounds)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calls <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> with an <a class="el" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> object that just specifies "Rounds" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c25e27eaeae2e909741c07de93caef49"></a><!-- doxytag: member="SymmetricCipher::SetKeyWithIV" ref="c25e27eaeae2e909741c07de93caef49" args="(const byte *key, size_t length, const byte *iv)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#c25e27eaeae2e909741c07de93caef49">SetKeyWithIV</a> (const byte *key, size_t length, const byte *iv)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calls <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> with an <a class="el" href="class_name_value_pairs.html" title="interface for retrieving values given their names">NameValuePairs</a> object that just specifies "IV" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22087180aa396209403b0852e9efc431"></a><!-- doxytag: member="SymmetricCipher::IVRequirement" ref="22087180aa396209403b0852e9efc431" args="() const=0" -->virtual <a class="el" href="class_simple_keying_interface.html#88201c180fbfaa9fef2715252546ad6e">IV_Requirement</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#22087180aa396209403b0852e9efc431">IVRequirement</a> () const=0</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the minimal requirement for secure IVs <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html#71039112353cc70e9859ebd95037cc1a">IsResynchronizable</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns whether this object can be resynchronized (i.e. supports initialization vectors)  <a href="#71039112353cc70e9859ebd95037cc1a"></a><br></td></tr>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人综合在线观看| thepron国产精品| 高清视频一区二区| 欧美日韩成人综合| 国产精品美女久久久久久2018| 夜夜嗨av一区二区三区| 国内精品国产成人| 欧美日韩国产首页在线观看| 久久九九久精品国产免费直播| 亚洲一区二区欧美日韩| 韩国精品主播一区二区在线观看 | 国产精品自拍网站| 欧美视频在线播放| 最新日韩av在线| 国产成人免费在线观看不卡| 欧美一区二区视频在线观看2020| 亚洲欧美精品午睡沙发| 国产成人精品在线看| 日韩三级视频中文字幕| 亚洲成人综合网站| 欧美亚洲动漫另类| 伊人婷婷欧美激情| 91香蕉视频在线| 国产精品区一区二区三区| 国产乱一区二区| 欧美电影免费观看高清完整版在| 天天色综合天天| 欧美撒尿777hd撒尿| 亚洲激情网站免费观看| 日本乱人伦一区| 一区二区三区四区五区视频在线观看 | 欧美三级韩国三级日本一级| 亚洲精品久久久蜜桃| 99久久婷婷国产精品综合| 国产精品美女久久久久aⅴ | 久久se这里有精品| 欧美一区二区三区视频| 午夜精品久久久久久久久久久| 欧美午夜宅男影院| 亚洲成人av中文| 91精品婷婷国产综合久久性色 | 亚洲人精品一区| av一区二区三区四区| 国产精品人成在线观看免费 | 欧美性色综合网| 性感美女久久精品| 91精品国产综合久久香蕉麻豆| 日韩精品国产精品| 欧美α欧美αv大片| 国内不卡的二区三区中文字幕 | 成人激情黄色小说| 亚洲欧美日韩国产综合在线| 日韩精品中文字幕在线一区| 精品亚洲欧美一区| 2023国产一二三区日本精品2022| 国产激情精品久久久第一区二区 | 久久亚区不卡日本| 国产高清视频一区| 亚洲三级小视频| 欧美美女直播网站| 国产真实乱偷精品视频免| 国产精品色哟哟| 欧美军同video69gay| 精品系列免费在线观看| 国产精品美女久久久久高潮| 在线观看三级视频欧美| 亚洲综合丁香婷婷六月香| 日韩一区二区三区在线观看| 国产成人在线电影| 午夜国产精品一区| 日本一区二区三区久久久久久久久不| 91免费看片在线观看| 全部av―极品视觉盛宴亚洲| 国产精品国产三级国产aⅴ原创| 在线影视一区二区三区| 久久99国产精品麻豆| 中文字幕在线观看不卡视频| 91精品国产日韩91久久久久久| 国产乱理伦片在线观看夜一区| 亚洲精品欧美综合四区| 久久婷婷国产综合国色天香| 色婷婷综合久久久久中文| 国产在线一区观看| 日日骚欧美日韩| 一区二区三区在线看| 国产农村妇女毛片精品久久麻豆| 欧美无乱码久久久免费午夜一区| 国产成人精品免费| 亚洲视频 欧洲视频| 精品欧美乱码久久久久久1区2区| 色综合久久久久综合体桃花网| 韩国v欧美v亚洲v日本v| 日韩av电影免费观看高清完整版| 亚洲三级在线免费观看| 国产欧美一区二区三区鸳鸯浴 | 久久精品国产99| 一区二区三区精品视频在线| 欧美国产精品中文字幕| 精品国产不卡一区二区三区| 欧美高清视频不卡网| 91黄色激情网站| 91香蕉国产在线观看软件| 国产成人在线看| 国产麻豆精品95视频| 捆绑调教一区二区三区| 日韩电影免费在线| 五月婷婷久久综合| 亚洲成av人影院| 亚洲国产一区二区a毛片| 成人欧美一区二区三区1314| 国产精品青草久久| 国产精品乱码人人做人人爱| 久久久久亚洲蜜桃| 久久精品欧美日韩| 国产丝袜美腿一区二区三区| 26uuu久久综合| 精品成人a区在线观看| 日韩精品一区二区三区视频播放| 日韩午夜在线影院| 欧美一区二区大片| 日韩精品一区二区在线| 精品国产精品网麻豆系列| www国产亚洲精品久久麻豆| 国产亚洲欧洲997久久综合| 久久午夜羞羞影院免费观看| 日本一区二区三区四区 | 91在线视频免费观看| 91丨porny丨户外露出| 日本精品视频一区二区三区| 欧洲激情一区二区| 欧美日韩精品一区二区三区蜜桃 | 精品国产伦一区二区三区观看体验 | 中文字幕高清一区| 成人免费在线播放视频| 亚洲成人免费视频| 久久99精品国产.久久久久久 | 欧美网站大全在线观看| 欧美日韩性生活| 欧美成人精品3d动漫h| 久久精品在这里| 中文字幕一区二区三区色视频| 综合激情网...| 日韩一区欧美二区| 国产成人在线看| 欧美影院一区二区三区| 日韩欧美一级二级三级久久久| 日本一区二区在线不卡| 亚洲一二三四在线| 久久国产成人午夜av影院| 粉嫩av亚洲一区二区图片| 日本精品视频一区二区| 欧美一区二区三区免费大片| 欧美激情一区三区| 亚洲国产精品一区二区www| 精品一区二区三区欧美| 色综合久久66| 日韩你懂的在线播放| 亚洲欧美中日韩| 日本视频中文字幕一区二区三区| 国产福利一区二区| 欧美精品一卡二卡| 亚洲色图在线看| 国产乱码精品一区二区三区av| 91黄视频在线观看| 欧美激情综合五月色丁香| 日本不卡在线视频| 91丨porny丨蝌蚪视频| 久久夜色精品国产噜噜av| 亚洲成av人片在线| 91香蕉视频mp4| 国产片一区二区| 久久成人18免费观看| 欧美日本一区二区三区| 国产精品高潮呻吟| 国产乱理伦片在线观看夜一区| 欧美在线免费观看亚洲| 国产精品女主播在线观看| 免费人成在线不卡| 欧美性xxxxx极品少妇| 亚洲视频一区二区在线| 国产成人免费av在线| 久久综合色播五月| 日韩国产在线一| 欧美午夜不卡在线观看免费| 一区在线中文字幕| 成人动漫中文字幕| 欧美激情一区二区| 国内精品自线一区二区三区视频| 777xxx欧美| 日韩—二三区免费观看av| 欧美中文字幕一区| 一区二区三区中文字幕电影| 成人av免费在线播放| 欧美经典一区二区| 国产成人一级电影| 国产精品素人一区二区| 成人激情动漫在线观看| 中文字幕在线不卡国产视频| 国产99一区视频免费| 中文字幕免费观看一区|