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

📄 validat1_8cpp-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!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++: validat1.cpp 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>validat1.cpp</h1><div class="fragment"><pre>00001 <span class="comment">// validat1.cpp - written and placed in the public domain by Wei Dai</span>00002 00003 <span class="preprocessor">#include "pch.h"</span>00004 00005 <span class="preprocessor">#include "files.h"</span>00006 <span class="preprocessor">#include "hex.h"</span>00007 <span class="preprocessor">#include "<a class="code" href="modes_8h.html">modes.h</a>"</span>00008 <span class="preprocessor">#include "cbcmac.h"</span>00009 <span class="preprocessor">#include "dmac.h"</span>00010 <span class="preprocessor">#include "<a class="code" href="idea_8h.html">idea.h</a>"</span>00011 <span class="preprocessor">#include "<a class="code" href="des_8h.html">des.h</a>"</span>00012 <span class="preprocessor">#include "<a class="code" href="rc2_8h.html">rc2.h</a>"</span>00013 <span class="preprocessor">#include "arc4.h"</span>00014 <span class="preprocessor">#include "<a class="code" href="rc5_8h.html">rc5.h</a>"</span>00015 <span class="preprocessor">#include "<a class="code" href="blowfish_8h.html">blowfish.h</a>"</span>00016 <span class="preprocessor">#include "<a class="code" href="diamond_8h.html">diamond.h</a>"</span>00017 <span class="preprocessor">#include "wake.h"</span>00018 <span class="preprocessor">#include "<a class="code" href="3way_8h.html">3way.h</a>"</span>00019 <span class="preprocessor">#include "<a class="code" href="safer_8h.html">safer.h</a>"</span>00020 <span class="preprocessor">#include "<a class="code" href="gost_8h.html">gost.h</a>"</span>00021 <span class="preprocessor">#include "<a class="code" href="shark_8h.html">shark.h</a>"</span>00022 <span class="preprocessor">#include "<a class="code" href="cast_8h.html">cast.h</a>"</span>00023 <span class="preprocessor">#include "<a class="code" href="square_8h.html">square.h</a>"</span>00024 <span class="preprocessor">#include "seal.h"</span>00025 <span class="preprocessor">#include "<a class="code" href="rc6_8h.html">rc6.h</a>"</span>00026 <span class="preprocessor">#include "<a class="code" href="mars_8h.html">mars.h</a>"</span>00027 <span class="preprocessor">#include "<a class="code" href="rijndael_8h.html">rijndael.h</a>"</span>00028 <span class="preprocessor">#include "<a class="code" href="twofish_8h.html">twofish.h</a>"</span>00029 <span class="preprocessor">#include "<a class="code" href="serpent_8h.html">serpent.h</a>"</span>00030 <span class="preprocessor">#include "<a class="code" href="skipjack_8h.html">skipjack.h</a>"</span>00031 <span class="preprocessor">#include "osrng.h"</span>00032 <span class="preprocessor">#include "zdeflate.h"</span>00033 00034 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>00035 <span class="preprocessor">#include &lt;time.h&gt;</span>00036 <span class="preprocessor">#include &lt;memory&gt;</span>00037 <span class="preprocessor">#include &lt;iostream&gt;</span>00038 <span class="preprocessor">#include &lt;iomanip&gt;</span>00039 00040 <span class="preprocessor">#include "validate.h"</span>00041 00042 USING_NAMESPACE(CryptoPP)00043 USING_NAMESPACE(std)00044 00045 <span class="keywordtype">bool</span> ValidateAll(<span class="keywordtype">bool</span> thorough)00046 {00047         <span class="keywordtype">bool</span> pass=TestSettings();00048         pass=TestOS_RNG() &amp;&amp; pass;00049 00050         pass=ValidateCRC32() &amp;&amp; pass;00051         pass=ValidateAdler32() &amp;&amp; pass;00052         pass=ValidateMD2() &amp;&amp; pass;00053         pass=ValidateMD5() &amp;&amp; pass;00054         pass=ValidateSHA() &amp;&amp; pass;00055         pass=ValidateSHA2() &amp;&amp; pass;00056         pass=ValidateHAVAL() &amp;&amp; pass;00057         pass=ValidateTiger() &amp;&amp; pass;00058         pass=ValidateRIPEMD() &amp;&amp; pass;00059         pass=ValidatePanama() &amp;&amp; pass;00060 00061         pass=ValidateMD5MAC() &amp;&amp; pass;00062         pass=ValidateHMAC() &amp;&amp; pass;00063         pass=ValidateXMACC() &amp;&amp; pass;00064 00065         pass=ValidatePBKDF() &amp;&amp; pass;00066 00067         pass=ValidateDES() &amp;&amp; pass;00068         pass=ValidateCipherModes() &amp;&amp; pass;00069         pass=ValidateIDEA() &amp;&amp; pass;00070         pass=ValidateSAFER() &amp;&amp; pass;00071         pass=ValidateRC2() &amp;&amp; pass;00072         pass=ValidateARC4() &amp;&amp; pass;00073         pass=ValidateRC5() &amp;&amp; pass;00074         pass=ValidateBlowfish() &amp;&amp; pass;00075         pass=ValidateDiamond2() &amp;&amp; pass;00076         pass=ValidateThreeWay() &amp;&amp; pass;00077         pass=ValidateGOST() &amp;&amp; pass;00078         pass=ValidateSHARK() &amp;&amp; pass;00079         pass=ValidateCAST() &amp;&amp; pass;00080         pass=ValidateSquare() &amp;&amp; pass;00081         pass=ValidateSKIPJACK() &amp;&amp; pass;00082         pass=ValidateSEAL() &amp;&amp; pass;00083         pass=ValidateRC6() &amp;&amp; pass;00084         pass=ValidateMARS() &amp;&amp; pass;00085         pass=ValidateRijndael() &amp;&amp; pass;00086         pass=ValidateTwofish() &amp;&amp; pass;00087         pass=ValidateSerpent() &amp;&amp; pass;00088 00089         pass=ValidateBBS() &amp;&amp; pass;00090         pass=ValidateDH() &amp;&amp; pass;00091         pass=ValidateMQV() &amp;&amp; pass;00092         pass=ValidateRSA() &amp;&amp; pass;00093         pass=ValidateElGamal() &amp;&amp; pass;00094         pass=ValidateDLIES() &amp;&amp; pass;00095         pass=ValidateNR() &amp;&amp; pass;00096         pass=ValidateDSA(thorough) &amp;&amp; pass;00097         pass=ValidateLUC() &amp;&amp; pass;00098         pass=ValidateLUC_DH() &amp;&amp; pass;00099         pass=ValidateLUC_DL() &amp;&amp; pass;00100         pass=ValidateXTR_DH() &amp;&amp; pass;00101         pass=ValidateRabin() &amp;&amp; pass;00102         pass=ValidateRW() &amp;&amp; pass;00103 <span class="comment">//      pass=ValidateBlumGoldwasser() &amp;&amp; pass;</span>00104         pass=ValidateECP() &amp;&amp; pass;00105         pass=ValidateEC2N() &amp;&amp; pass;00106         pass=ValidateECDSA() &amp;&amp; pass;00107         pass=ValidateESIGN() &amp;&amp; pass;00108 00109         <span class="keywordflow">if</span> (pass)00110                 cout &lt;&lt; <span class="stringliteral">"\nAll tests passed!\n"</span>;00111         <span class="keywordflow">else</span>00112                 cout &lt;&lt; <span class="stringliteral">"\nOops!  Not all tests passed.\n"</span>;00113 00114         <span class="keywordflow">return</span> pass;00115 }00116 00117 <span class="keywordtype">bool</span> TestSettings()00118 {00119         <span class="keywordtype">bool</span> pass = <span class="keyword">true</span>;00120 00121         cout &lt;&lt; <span class="stringliteral">"\nTesting Settings...\n\n"</span>;00122 00123         <span class="keywordflow">if</span> (*(word32 *)<span class="stringliteral">"\x01\x02\x03\x04"</span> == 0x04030201L)00124         {00125 <span class="preprocessor">#ifdef IS_LITTLE_ENDIAN</span>00126 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"passed:  "</span>;00127 <span class="preprocessor">#else</span>00128 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"FAILED:  "</span>;00129                 pass = <span class="keyword">false</span>;00130 <span class="preprocessor">#endif</span>00131 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"Your machine is little endian.\n"</span>;00132         }00133         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*(word32 *)<span class="stringliteral">"\x01\x02\x03\x04"</span> == 0x01020304L)00134         {00135 <span class="preprocessor">#ifndef IS_LITTLE_ENDIAN</span>00136 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"passed:  "</span>;00137 <span class="preprocessor">#else</span>00138 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"FAILED:  "</span>;00139                 pass = <span class="keyword">false</span>;00140 <span class="preprocessor">#endif</span>00141 <span class="preprocessor"></span>                cout &lt;&lt; <span class="stringliteral">"Your machine is big endian.\n"</span>;00142         }00143         <span class="keywordflow">else</span>00144         {00145                 cout &lt;&lt; <span class="stringliteral">"FAILED:  Your machine is neither big endian nor little endian.\n"</span>;00146                 pass = <span class="keyword">false</span>;00147         }00148 00149         <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(byte) == 1)00150                 cout &lt;&lt; <span class="stringliteral">"passed:  "</span>;00151         <span class="keywordflow">else</span>00152         {00153                 cout &lt;&lt; <span class="stringliteral">"FAILED:  "</span>;

⌨️ 快捷键说明

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