mirror of
https://github.com/mcneel/opennurbs.git
synced 2026-03-31 08:06:54 +08:00
334 lines
17 KiB
HTML
334 lines
17 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>openNURBS SDK Help: ON_MD5 Class Reference</title>
|
|
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="../../jquery.js"></script>
|
|
<script type="text/javascript" src="../../dynsections.js"></script>
|
|
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="../../search/searchdata.js"></script>
|
|
<script type="text/javascript" src="../../search/search.js"></script>
|
|
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">openNURBS SDK Help
|
|
 <span id="projectnumber">6.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.13 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="../../menudata.js"></script>
|
|
<script type="text/javascript" src="../../menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('../../',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="../../d2/d7d/class_o_n___m_d5-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">ON_MD5 Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><code>#include <<a class="el" href="../../db/d87/opennurbs__md5_8h_source.html">opennurbs_md5.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a7325bd90e22c47292641f99cc704aa71"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a7325bd90e22c47292641f99cc704aa71">ON_MD5</a> ()=default</td></tr>
|
|
<tr class="separator:a7325bd90e22c47292641f99cc704aa71"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae9ff49ac0b20eee36d0bc36015fd76ab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#ae9ff49ac0b20eee36d0bc36015fd76ab">ON_MD5</a> (const <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> &)=default</td></tr>
|
|
<tr class="separator:ae9ff49ac0b20eee36d0bc36015fd76ab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab1a7d330a25e40f222bdf0e5ae4f896c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#ab1a7d330a25e40f222bdf0e5ae4f896c">~ON_MD5</a> ()=default</td></tr>
|
|
<tr class="separator:ab1a7d330a25e40f222bdf0e5ae4f896c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2f6db76b8ef7a43241daebcb8f3feea7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a2f6db76b8ef7a43241daebcb8f3feea7">AccumulateBytes</a> (const void *buffer, ON__UINT64 sizeof_buffer)</td></tr>
|
|
<tr class="separator:a2f6db76b8ef7a43241daebcb8f3feea7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a475f019d99ce5693aa223dff43ec6772"><td class="memItemLeft" align="right" valign="top">ON__UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a475f019d99ce5693aa223dff43ec6772">ByteCount</a> () const</td></tr>
|
|
<tr class="separator:a475f019d99ce5693aa223dff43ec6772"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8e48da3ab6766483b8a254aa00b9a5ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/dff/class_o_n___m_d5___hash.html">ON_MD5_Hash</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a8e48da3ab6766483b8a254aa00b9a5ac">Hash</a> () const</td></tr>
|
|
<tr class="separator:a8e48da3ab6766483b8a254aa00b9a5ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf295b06d1b253acf9d0c81721f2c5da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#acf295b06d1b253acf9d0c81721f2c5da">operator=</a> (const <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> &)=default</td></tr>
|
|
<tr class="separator:acf295b06d1b253acf9d0c81721f2c5da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a32203e931e3d4282b372a7fa7c915bca"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a32203e931e3d4282b372a7fa7c915bca">Reset</a> ()</td></tr>
|
|
<tr class="separator:a32203e931e3d4282b372a7fa7c915bca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:af36f49e356cf03ea7f0084058d1a167a"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html#af36f49e356cf03ea7f0084058d1a167a">Validate</a> ()</td></tr>
|
|
<tr class="separator:af36f49e356cf03ea7f0084058d1a167a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Description: <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> is a small class for calculating the MD5 hash of a sequence of bytes. It may be use incrementally (the bytes do not have to be in a contiguous array in memory at one time).</p>
|
|
<p>Remarks: The <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> class cannot be used for cryptographic or security applications. The MD5 hash algorithm is not suitable for cryptographic or security applications. The <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> class does not "wipe" intermediate results.</p>
|
|
<p>The probability of two different randomly selected seqences of N bytes to have the same value MD5 hash depends on N, but it is roughly 2^-64 ~ 10^-19.</p>
|
|
<p>MD5 hash values are 16 bytes. SHA-1 hash values are 20 bytes. If you need a hash and have room for 20 bytes, then <a class="el" href="../../d8/df7/class_o_n___s_h_a1.html">ON_SHA1</a> is preferred over <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a>.</p>
|
|
<p>Legal: Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.</p>
|
|
<p>License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
|
Algorithm" in all material mentioning or referencing this software or this function.</p>
|
|
<p>License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data
|
|
Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.</p>
|
|
<p>RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.</p>
|
|
<p>These notices must be retained in any copies of any part of this documentation and/or software. </p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a7325bd90e22c47292641f99cc704aa71"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7325bd90e22c47292641f99cc704aa71">◆ </a></span>ON_MD5() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_MD5::ON_MD5 </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab1a7d330a25e40f222bdf0e5ae4f896c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab1a7d330a25e40f222bdf0e5ae4f896c">◆ </a></span>~ON_MD5()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_MD5::~ON_MD5 </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae9ff49ac0b20eee36d0bc36015fd76ab"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae9ff49ac0b20eee36d0bc36015fd76ab">◆ </a></span>ON_MD5() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_MD5::ON_MD5 </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a2f6db76b8ef7a43241daebcb8f3feea7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f6db76b8ef7a43241daebcb8f3feea7">◆ </a></span>AccumulateBytes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_MD5::AccumulateBytes </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const void * </td>
|
|
<td class="paramname"><em>buffer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">ON__UINT64 </td>
|
|
<td class="paramname"><em>sizeof_buffer</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Description: Make one or more calls to <a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a2f6db76b8ef7a43241daebcb8f3feea7">AccumulateBytes()</a> as the sequenence of bytes is available. Parameters: buffer - [in] sizeof_buffer - [in] number of bytes in buffer </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a475f019d99ce5693aa223dff43ec6772"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a475f019d99ce5693aa223dff43ec6772">◆ </a></span>ByteCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON__UINT64 ON_MD5::ByteCount </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Returns: Total number of bytes passed to Update(). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8e48da3ab6766483b8a254aa00b9a5ac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8e48da3ab6766483b8a254aa00b9a5ac">◆ </a></span>Hash()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/dff/class_o_n___m_d5___hash.html">ON_MD5_Hash</a> ON_MD5::Hash </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Returns: MD5 hash value of the sequenence of <a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a475f019d99ce5693aa223dff43ec6772">ByteCount()</a> bytes that have been passed to this <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> classe's Update() function since construction or the last call to <a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a32203e931e3d4282b372a7fa7c915bca">Reset()</a>. Remarks: You may use <a class="el" href="../../d8/d7c/class_o_n___m_d5.html#a8e48da3ab6766483b8a254aa00b9a5ac">Hash()</a> to compute intermediate MD5 hash values.</p>
|
|
<p>Put another way, you may call Update() zero or more times passing in N1 bytes, call Digest() to get the MD5 hash of those N1 bytes, make zero or more additional calls to Update() passing in N2 additional bytes, call digest to get the MD5 hash of the seqence of (N1 + N2) bytes, and so on. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acf295b06d1b253acf9d0c81721f2c5da"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf295b06d1b253acf9d0c81721f2c5da">◆ </a></span>operator=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a>& ON_MD5::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a32203e931e3d4282b372a7fa7c915bca"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a32203e931e3d4282b372a7fa7c915bca">◆ </a></span>Reset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_MD5::Reset </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Description: Reset this <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> class so it can be reused. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af36f49e356cf03ea7f0084058d1a167a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af36f49e356cf03ea7f0084058d1a167a">◆ </a></span>Validate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static bool ON_MD5::Validate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Description: This is a static function that uses <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> to compute MD5 hash values of sequences of bytes with known MD5 hash values and compares the results from <a class="el" href="../../d8/df7/class_o_n___s_h_a1.html">ON_SHA1</a> with the known MD5 hash values.</p>
|
|
<p>This function can be used to validate the <a class="el" href="../../d8/d7c/class_o_n___m_d5.html">ON_MD5</a> class compiled correctly.</p>
|
|
<p>Returns: true All validation tests passed. false At least one validation test failed. </p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Fri Jan 26 2018 04:54:32 for openNURBS SDK Help by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.13
|
|
</small></address>
|
|
</body>
|
|
</html>
|