⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++: default.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>default.h</h1><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef CRYPTOPP_DEFAULT_H</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DEFAULT_H</span>00003 <span class="preprocessor"></span>00004 <span class="preprocessor">#include "sha.h"</span>00005 <span class="preprocessor">#include "hmac.h"</span>00006 <span class="preprocessor">#include "<a class="code" href="des_8h.html">des.h</a>"</span>00007 <span class="preprocessor">#include "filters.h"</span>00008 <span class="preprocessor">#include "<a class="code" href="modes_8h.html">modes.h</a>"</span>00009 00010 NAMESPACE_BEGIN(CryptoPP)00011 00012 <span class="keyword">typedef</span> <a class="code" href="class_d_e_s___e_d_e2.html">DES_EDE2</a> <a class="code" href="class_d_e_s___e_d_e2.html">Default_BlockCipher</a>;00013 <span class="keyword">typedef</span> <a class="code" href="class_s_h_a.html">SHA</a> <a class="code" href="class_s_h_a.html">DefaultHashModule</a>;00014 <span class="keyword">typedef</span> <a class="code" href="class_h_m_a_c.html">HMAC&lt;DefaultHashModule&gt;</a> <a class="code" href="class_h_m_a_c.html">DefaultMAC</a>;00015 <span class="comment"></span>00016 <span class="comment">//! Password-Based Encryptor using DES-EDE2</span><a name="l00017"></a><a class="code" href="class_default_encryptor.html">00017</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_default_encryptor.html">DefaultEncryptor</a> : <span class="keyword">public</span> <a class="code" href="class_proxy_filter.html">ProxyFilter</a>00018 {00019 <span class="keyword">public</span>:00020         <a class="code" href="class_default_encryptor.html">DefaultEncryptor</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *passphrase, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL);00021         <a class="code" href="class_default_encryptor.html">DefaultEncryptor</a>(<span class="keyword">const</span> byte *passphrase, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> passphraseLength, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL);00022 00023 <span class="keyword">protected</span>:00024         <span class="keywordtype">void</span> FirstPut(<span class="keyword">const</span> byte *);00025         <span class="keywordtype">void</span> LastPut(<span class="keyword">const</span> byte *inString, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);00026 00027 <span class="keyword">private</span>:00028         <a class="code" href="class_sec_block.html">SecByteBlock</a> m_passphrase;00029         <a class="code" href="struct_c_b_c___mode.html">CBC_Mode&lt;Default_BlockCipher&gt;</a>::Encryption m_cipher;00030 };00031 <span class="comment"></span>00032 <span class="comment">//! Password-Based Decryptor using DES-EDE2</span><a name="l00033"></a><a class="code" href="class_default_decryptor.html">00033</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_default_decryptor.html">DefaultDecryptor</a> : <span class="keyword">public</span> <a class="code" href="class_proxy_filter.html">ProxyFilter</a>00034 {00035 <span class="keyword">public</span>:00036         <a class="code" href="class_default_decryptor.html">DefaultDecryptor</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *passphrase, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL, <span class="keywordtype">bool</span> throwException=<span class="keyword">true</span>);00037         <a class="code" href="class_default_decryptor.html">DefaultDecryptor</a>(<span class="keyword">const</span> byte *passphrase, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> passphraseLength, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL, <span class="keywordtype">bool</span> throwException=<span class="keyword">true</span>);00038 00039         <span class="keyword">class </span>Err : <span class="keyword">public</span> <a class="code" href="class_exception.html">Exception</a>00040         {00041         <span class="keyword">public</span>:00042                 Err(<span class="keyword">const</span> std::string &amp;s) 00043                         : <a class="code" href="class_exception.html">Exception</a>(<a class="code" href="class_exception.html#_zlib_decompressor_1_1_unsupported_preset_dictionaryw7_zlib_decompressor_1_1_unsupported_preset_dictionaryw3">DATA_INTEGRITY_CHECK_FAILED</a>, s) {}00044         };00045         <span class="keyword">class </span>KeyBadErr : <span class="keyword">public</span> Err {<span class="keyword">public</span>: KeyBadErr() : Err(<span class="stringliteral">"DefaultDecryptor: cannot decrypt message with this passphrase"</span>) {}};00046 00047         <span class="keyword">enum</span> State {WAITING_FOR_KEYCHECK, KEY_GOOD, KEY_BAD};00048         State CurrentState()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_state;}00049 00050 <span class="keyword">protected</span>:00051         <span class="keywordtype">void</span> FirstPut(<span class="keyword">const</span> byte *inString);00052         <span class="keywordtype">void</span> LastPut(<span class="keyword">const</span> byte *inString, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);00053 00054         State m_state;00055 00056 <span class="keyword">private</span>:00057         <span class="keywordtype">void</span> CheckKey(<span class="keyword">const</span> byte *salt, <span class="keyword">const</span> byte *keyCheck);00058 00059         <a class="code" href="class_sec_block.html">SecByteBlock</a> m_passphrase;00060         <a class="code" href="struct_c_b_c___mode.html">CBC_Mode&lt;Default_BlockCipher&gt;</a>::Decryption m_cipher;00061         member_ptr&lt;FilterWithBufferedInput&gt; m_decryptor;00062         <span class="keywordtype">bool</span> m_throwException;00063 };00064 <span class="comment"></span>00065 <span class="comment">//! Password-Based Encryptor using DES-EDE2 and HMAC/SHA-1</span><a name="l00066"></a><a class="code" href="class_default_encryptor_with_m_a_c.html">00066</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_default_encryptor_with_m_a_c.html">DefaultEncryptorWithMAC</a> : <span class="keyword">public</span> <a class="code" href="class_proxy_filter.html">ProxyFilter</a>00067 {00068 <span class="keyword">public</span>:00069         <a class="code" href="class_default_encryptor_with_m_a_c.html">DefaultEncryptorWithMAC</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *passphrase, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL);00070         <a class="code" href="class_default_encryptor_with_m_a_c.html">DefaultEncryptorWithMAC</a>(<span class="keyword">const</span> byte *passphrase, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> passphraseLength, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL);00071 00072 <span class="keyword">protected</span>:00073         <span class="keywordtype">void</span> FirstPut(<span class="keyword">const</span> byte *inString) {}00074         <span class="keywordtype">void</span> LastPut(<span class="keyword">const</span> byte *inString, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);00075 00076 <span class="keyword">private</span>:00077         member_ptr&lt;DefaultMAC&gt; m_mac;00078 };00079 <span class="comment"></span>00080 <span class="comment">//! Password-Based Decryptor using DES-EDE2 and HMAC/SHA-1</span><a name="l00081"></a><a class="code" href="class_default_decryptor_with_m_a_c.html">00081</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="class_default_decryptor_with_m_a_c.html">DefaultDecryptorWithMAC</a> : <span class="keyword">public</span> <a class="code" href="class_proxy_filter.html">ProxyFilter</a>00082 {00083 <span class="keyword">public</span>:00084         <span class="keyword">class </span>MACBadErr : <span class="keyword">public</span> <a class="code" href="class_default_decryptor.html">DefaultDecryptor</a>::Err {<span class="keyword">public</span>: MACBadErr() : DefaultDecryptor::Err(<span class="stringliteral">"DefaultDecryptorWithMAC: MAC check failed"</span>) {}};00085 00086         <a class="code" href="class_default_decryptor_with_m_a_c.html">DefaultDecryptorWithMAC</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *passphrase, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL, <span class="keywordtype">bool</span> throwException=<span class="keyword">true</span>);00087         <a class="code" href="class_default_decryptor_with_m_a_c.html">DefaultDecryptorWithMAC</a>(<span class="keyword">const</span> byte *passphrase, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> passphraseLength, <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *attachment = NULL, <span class="keywordtype">bool</span> throwException=<span class="keyword">true</span>);00088 00089         DefaultDecryptor::State CurrentState() <span class="keyword">const</span>;00090         <span class="keywordtype">bool</span> CheckLastMAC() <span class="keyword">const</span>;00091 00092 <span class="keyword">protected</span>:00093         <span class="keywordtype">void</span> FirstPut(<span class="keyword">const</span> byte *inString) {}00094         <span class="keywordtype">void</span> LastPut(<span class="keyword">const</span> byte *inString, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);00095 00096 <span class="keyword">private</span>:00097         member_ptr&lt;DefaultMAC&gt; m_mac;00098         <a class="code" href="class_hash_verification_filter.html">HashVerifier</a> *m_hashVerifier;00099         <span class="keywordtype">bool</span> m_throwException;00100 };00101 00102 NAMESPACE_END00103 00104 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:11 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -