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

📄 cypher_8h-source.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00452 00453 <span class="preprocessor">#if P_SSL</span>00454 <span class="preprocessor"></span>00459 <span class="keyword">class </span>PMessageDigestSHA1 : <span class="keyword">public</span> <a class="code" href="classPMessageDigest.html">PMessageDigest</a>00460 {00461   <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(PMessageDigestSHA1, <a class="code" href="classPMessageDigest.html">PMessageDigest</a>)00462 00463   <span class="keyword">public</span>:00465     PMessageDigestSHA1();00466     ~PMessageDigestSHA1();00467 00469     <span class="keywordtype">void</span> <a class="code" href="classPMessageDigest.html#a1">Start</a>();00470 00472     <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> Encode(00473       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; str      00474     );00476     <span class="keyword">static</span> <span class="keywordtype">void</span> Encode(00477       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; str,     00478       Result &amp; result            00479     );00481     <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> Encode(00482       <span class="keyword">const</span> <span class="keywordtype">char</span> * cstr        00483     );00485     <span class="keyword">static</span> <span class="keywordtype">void</span> Encode(00486       <span class="keyword">const</span> <span class="keywordtype">char</span> * cstr,       00487       Result &amp; result            00488     );00490     <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> Encode(00491       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; data  00492     );00494     <span class="keyword">static</span> <span class="keywordtype">void</span> Encode(00495       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; data, 00496       Result &amp; result            00497     );00499     <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> Encode(00500       <span class="keyword">const</span> <span class="keywordtype">void</span> * dataBlock,  00501       PINDEX length            00502     );00508     <span class="keyword">static</span> <span class="keywordtype">void</span> Encode(00509       <span class="keyword">const</span> <span class="keywordtype">void</span> * dataBlock,  00510       PINDEX length,           00511       Result &amp; result            00512     );00513 00514   <span class="keyword">protected</span>:00515     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPMessageDigest.html#b0">InternalProcess</a>(00516        <span class="keyword">const</span> <span class="keywordtype">void</span> * dataBlock,  00517       PINDEX length            00518     );00519 00520     <span class="keywordtype">void</span> <a class="code" href="classPMessageDigest.html#b1">InternalCompleteDigest</a>(00521       Result &amp; result   00522     );00523 00524   <span class="keyword">private</span>:00525     <span class="keywordtype">void</span> * shaContext;00526 };00527 00528 <span class="preprocessor">#endif</span>00529 <span class="preprocessor"></span><a name="l00533"></a><a class="code" href="classPCypher.html">00533</a> <span class="keyword">class </span><a class="code" href="classPCypher.html">PCypher</a> : <span class="keyword">public</span> <a class="code" href="classPObject.html">PObject</a>00534 {00535   <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPCypher.html">PCypher</a>, <a class="code" href="classPObject.html">PObject</a>)00536 00537   <span class="keyword">public</span>:<a name="l00539"></a><a class="code" href="classPCypher.html#s9">00539</a>     <span class="keyword">enum</span> <a class="code" href="classPCypher.html#s9">BlockChainMode</a> {00540       <a class="code" href="classPCypher.html#s9s0">ElectronicCodebook</a>,00541         <a class="code" href="classPCypher.html#s9s1">ECB</a> = <a class="code" href="classPCypher.html#s9s0">ElectronicCodebook</a>,00542       <a class="code" href="classPCypher.html#s9s2">CypherBlockChaining</a>,00543         <a class="code" href="classPCypher.html#s9s3">CBC</a> = <a class="code" href="classPCypher.html#s9s2">CypherBlockChaining</a>,00544       <a class="code" href="classPCypher.html#s9s4">OutputFeedback</a>,00545         <a class="code" href="classPCypher.html#s9s5">OFB</a> = <a class="code" href="classPCypher.html#s9s4">OutputFeedback</a>,00546       <a class="code" href="classPCypher.html#s9s6">CypherFeedback</a>,00547         <a class="code" href="classPCypher.html#s9s7">CFB</a> = <a class="code" href="classPCypher.html#s9s6">CypherFeedback</a>,00548       <a class="code" href="classPCypher.html#s9s8">NumBlockChainModes</a>00549     };00550 00551   <span class="comment">// New functions for class</span>00553 <span class="comment"></span>    <a class="code" href="classPString.html">PString</a> <a class="code" href="classPCypher.html#a0">Encode</a>(00554       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; str       00555     );00557     <a class="code" href="classPString.html">PString</a> <a class="code" href="classPCypher.html#a0">Encode</a>(00558       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; clear  00559     );00561     <a class="code" href="classPString.html">PString</a> <a class="code" href="classPCypher.html#a0">Encode</a>(00562       <span class="keyword">const</span> <span class="keywordtype">void</span> * data,        00563       PINDEX length             00564     );00566     <span class="keywordtype">void</span> <a class="code" href="classPCypher.html#a0">Encode</a>(00567       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; clear, 00568       <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; coded        00569     );00585     <span class="keywordtype">void</span> <a class="code" href="classPCypher.html#a0">Encode</a>(00586       <span class="keyword">const</span> <span class="keywordtype">void</span> * data,        <span class="comment">// Clear text binary data to be encoded.</span>00587       PINDEX length,            <span class="comment">// Number of bytes of data to be encoded.</span>00588       <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; coded        <span class="comment">// Encoded data.</span>00589     );00590 00592     <a class="code" href="classPString.html">PString</a> <a class="code" href="classPCypher.html#a5">Decode</a>(00593       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; cypher   00594     );00596     BOOL <a class="code" href="classPCypher.html#a5">Decode</a>(00597       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; cypher,  00598       <a class="code" href="classPString.html">PString</a> &amp; clear          00599     );00601     BOOL <a class="code" href="classPCypher.html#a5">Decode</a>(00602       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; cypher,  00603       <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; clear       00604     );00606     PINDEX <a class="code" href="classPCypher.html#a5">Decode</a>(00607       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; cypher,  00608       <span class="keywordtype">void</span> * data,             00609       PINDEX length            00610     );00612     PINDEX <a class="code" href="classPCypher.html#a5">Decode</a>(00613       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; coded, 00614       <span class="keywordtype">void</span> * data,              00615       PINDEX length             00616     );00632     BOOL <a class="code" href="classPCypher.html#a5">Decode</a>(00633       <span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; coded, 00634       <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; clear       00635     );00636 00637 00638   <span class="keyword">protected</span>:00642     <a class="code" href="classPCypher.html#b0">PCypher</a>(00643       PINDEX <a class="code" href="classPCypher.html#n1">blockSize</a>,          00644       <a class="code" href="classPCypher.html#s9">BlockChainMode</a> <a class="code" href="classPCypher.html#n2">chainMode</a>   00645     );00646     <a class="code" href="classPCypher.html#b0">PCypher</a>(00647       <span class="keyword">const</span> <span class="keywordtype">void</span> * keyData,    00648       PINDEX keyLength,        00649       PINDEX <a class="code" href="classPCypher.html#n1">blockSize</a>,        00650       <a class="code" href="classPCypher.html#s9">BlockChainMode</a> <a class="code" href="classPCypher.html#n2">chainMode</a> 00651     );00652 00653 00655     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPCypher.html#b2">Initialise</a>(00656       BOOL encoding   00657     ) = 0;00658 00660     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPCypher.html#b3">EncodeBlock</a>(00661       <span class="keyword">const</span> <span class="keywordtype">void</span> * in,    00662       <span class="keywordtype">void</span> * out          00663     ) = 0;00664 00665 00667     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPCypher.html#b4">DecodeBlock</a>(00668       <span class="keyword">const</span> <span class="keywordtype">void</span> * in,  00669       <span class="keywordtype">void</span> * out        00670     ) = 0;00671 00672 <a name="l00674"></a><a class="code" href="classPCypher.html#n0">00674</a>     <a class="code" href="classPBYTEArray.html">PBYTEArray</a> <a class="code" href="classPCypher.html#n0">key</a>;<a name="l00676"></a><a class="code" href="classPCypher.html#n1">00676</a>     PINDEX <a class="code" href="classPCypher.html#n1">blockSize</a>;<a name="l00678"></a><a class="code" href="classPCypher.html#n2">00678</a>     <a class="code" href="classPCypher.html#s9">BlockChainMode</a> <a class="code" href="classPCypher.html#n2">chainMode</a>;00679 };00680 00681 <a name="l00689"></a><a class="code" href="classPTEACypher.html">00689</a> <span class="keyword">class </span><a class="code" href="classPTEACypher.html">PTEACypher</a> : <span class="keyword">public</span> <a class="code" href="classPCypher.html">PCypher</a>00690 {00691   <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPTEACypher.html">PTEACypher</a>, <a class="code" href="classPCypher.html">PCypher</a>)00692 00693   <span class="keyword">public</span>:<a name="l00694"></a><a class="code" href="structPTEACypher_1_1Key.html">00694</a>     <span class="keyword">struct </span><a class="code" href="structPTEACypher_1_1Key.html">Key</a> {<a name="l00695"></a><a class="code" href="structPTEACypher_1_1Key.html#m0">00695</a>       BYTE <a class="code" href="structPTEACypher_1_1Key.html#m0">value</a>[16];00696     };00697 00702     <a class="code" href="classPTEACypher.html#a0">PTEACypher</a>(00703       <a class="code" href="classPCypher.html#s9">BlockChainMode</a> <a class="code" href="classPCypher.html#n2">chainMode</a> = <a class="code" href="classPCypher.html#s9s0">ElectronicCodebook</a>   00704     );

⌨️ 快捷键说明

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