本文参考:http://snowolf.iteye.com/blog/379860

MD5 是message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?MD5是用于对信息生成 信息摘要(即 散列码 )的算法之一。 不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文件是否一致的<wbr style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"><span style="color:#003366; line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)">。关于</span><span style="line-height:22px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); color:rgb(0,51,102)">信息摘要</span><span style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); color:rgb(0,51,102)">和</span><span style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); color:rgb(255,153,0)">散列码</span><span style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); color:rgb(0,51,102)">请参照《</span><a title="阅读全文" target="_blank" href="http://hubingforever.blog.163.com/blog/static/17104057920118981219705/" style="color:rgb(245,149,19); line-height:25px; text-decoration:initial; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); white-space:nowrap">数字证书简介</a><span style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245); color:rgb(0,51,102)">》</span> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> <span style="font-family:Arial,Helvetica,simsun,u5b8bu4f53"><span style="color:#003366">关于</span><span style="color:#ff00ff">MD5</span><span style="color:#003366">用于验证文件发放和收方是否一致的大概流程如</span><strong>图1</strong><span style="color:#003366">所示</span></span> </div> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> <span style="font-family:Arial,Helvetica,simsun,u5b8bu4f53"><strong>图1</strong><br></span> <div> <div><img alt="一个计算MD5的工具类 - hubingforever - 民主与科学" src="https://img-my.csdn.net/uploads/201212/23/1356265406_5700.jpg" width="517" height="389" style="border:0px; max-width:100%; margin:0px 10px 0px 0px"></div> 以下是对于MD5计算的一个简单包装类</div> </div> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> MD5Util.java文件</div> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> <pre class="prettyprint" style="padding:2px; border:1px solid rgb(136,136,136)"><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p><div> <span class="kwd" style="color:rgb(0,0,136)">package</span><span class="pln"> edu</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">edut</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">robin</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">utils</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">File</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">FileInputStream</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">IOException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">InputStream</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">UnsupportedEncodingException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">security</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">MessageDigest</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> android</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">util</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Log</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">class</span><span class="pln"> MD5Util</span> </div><div><span class="pun" style="color:rgb(102,102,0)">{</span></div><div> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">private</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> encodingAlgorithm</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="str" style="color:rgb(0,136,0)">"MD5"</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div><span class="pln"> </span></div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">final</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pun" style="color:rgb(102,102,0)">[]</span><span class="pln"> md5sum</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pun" style="color:rgb(102,102,0)">[]</span><span class="pln"> data</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">data </span><span class="pun" style="color:rgb(102,102,0)">==</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">||</span><span class="pln"> data</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">length </span><span class="pun" style="color:rgb(102,102,0)">==</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">){</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">try</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">MessageDigest</span><span class="pln"> mdTemp </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">MessageDigest</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getInstance</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">encodingAlgorithm</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> mdTemp</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">update</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">data</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> mdTemp</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">digest</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div><span class="pln"> </span></div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">catch</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">Exception</span><span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div><span class="pln"> </span></div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div><span class="pln"> </span></div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> convertToHexString</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pln"> data</span><span class="pun" style="color:rgb(102,102,0)">[])</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">StringBuffer</span><span class="pln"> strBuffer </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">StringBuffer</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">for</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> i </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> i </span><span class="pun" style="color:rgb(102,102,0)">&lt;</span><span class="pln"> data</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">length</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> i</span><span class="pun" style="color:rgb(102,102,0)">++)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> strBuffer</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">append</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">Integer</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">toHexString</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="lit" style="color:rgb(0,102,102)">0xff</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">&amp;</span><span class="pln"> data</span><span class="pun" style="color:rgb(102,102,0)">[</span><span class="pln">i</span><span class="pun" style="color:rgb(102,102,0)">]));</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> strBuffer</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">toString</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pun" style="color:rgb(102,102,0)">[]</span><span class="pln"> md5sum</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">File</span><span class="pln"> file</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">InputStream</span><span class="pln"> fis </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pun" style="color:rgb(102,102,0)">[]</span><span class="pln"> buffer </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">byte</span><span class="pun" style="color:rgb(102,102,0)">[</span><span class="lit" style="color:rgb(0,102,102)">1024</span><span class="pun" style="color:rgb(102,102,0)">];</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> numRead </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">MessageDigest</span><span class="pln"> md5</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">try</span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> fis </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">FileInputStream</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">file</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> md5 </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">MessageDigest</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getInstance</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">encodingAlgorithm</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">while</span><span class="pun" style="color:rgb(102,102,0)">((</span><span class="pln">numRead</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln">fis</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">read</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">buffer</span><span class="pun" style="color:rgb(102,102,0)">))</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">&gt;</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> md5</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">update</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">buffer</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="pln">numRead</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> md5</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">digest</span><span class="pun" style="color:rgb(102,102,0)">();</span><span class="pln"> </span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">catch</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">Exception</span><span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">printStackTrace</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">return</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">finally</span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">fis </span><span class="pun" style="color:rgb(102,102,0)">!=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">){</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">try</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> fis</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">close</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">catch</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">IOException</span><span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">printStackTrace</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div><span class="pun" style="color:rgb(102,102,0)">}</span></div><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p></pre> </div> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> 关于<span style="color:rgb(255,0,255)">MessageDigest</span>的更多内容请参考《<a title="阅读全文" target="_blank" href="http://hubingforever.blog.163.com/blog/static/171040579201210781650340/" style="color:rgb(245,149,19); text-decoration:initial; white-space:nowrap">MessageDigest简介</a><a title="阅读全文" target="_blank" href="http://hubingforever.blog.163.com/blog/static/171040579201210781650340/" style="color:rgb(245,149,19); text-decoration:initial; white-space:nowrap"><span style="color:#000000">》</span></a> </div> <div style="line-height:25px; font-family:Arial,Helvetica,simsun,u5b8bu4f53; font-size:14px; background-color:rgb(245,245,245)"> 结束</div> </wbr>

一点关于MD5计算的封装相关推荐

  1. java go md5_Go语言中三种不同md5计算方式的性能比较

    前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上.下面来一起看看吧. ReadFile 先看第一种, 简单粗暴: ...

  2. 零起点学算法07——复杂一点的表达式计算

    零起点学算法07--复杂一点的表达式计算 Description 下面你来计算一个复杂一点的计算表达式 Input 没有输入 Output 输出表达式的值,保留2位小数 题目分析:根号要用sqrt来算 ...

  3. 基于流式的md5计算-多线程下载工具Lwget介绍

    在数据传输的时候,我们希望实现以下目标: 1. 使用多线程传输,加速下载速度 2. 数据在传输过程中,进行流式md5计算,避免在传输完毕之后校验大文件 3. 支持断点续传 4. 支持http协议和ft ...

  4. MD5计算,一个扩展类,哪里都能用

    最近有同学问到如何计算一个字节数组的MD5值,现在分享一个扩展类,有了它,MD5计算再也不用其他了. 先看示例: string s = "hello world";var s_md ...

  5. C++:符合RFC1321规范的MD5计算C++实现

    MD5使用比较广泛,并不只局限于数据加密,它的概念这里就不介绍了,这里只谈谈MD5的代码实现. MD5计算的算法是统一的,但实现如果实现时参数不一样,同样一段数据,不同的算法计算出的结果就不一样.为了 ...

  6. 文件Md5计算(C语言版)

    文件Md5计算(C语言版) 这是一个参考了网上很多人的C语言以及C++版本的计算工具而制作的,已对其优化了一部分,加了新功能:如果能计算出有效的Md5则自动复制到剪贴板,并且支持拖拽文件到窗口上,完全 ...

  7. 使用Go语言完成文件夹的MD5计算

    案例需求:我们的监测系统会定期的检查配置文件的变动,这些配置文件放置在一个独立的文件夹下面,我们可以通过对于整个的文件夹内所有文件进行md5的计算来完成监测,本文就通过Go语言实现了一个命令行工具,完 ...

  8. 大文件MD5计算 C语言 (从OpenSSL库中分离算法:三)

    从OpenSSL库中分离算法-MD5算法-大文件MD5计算 续上述博客 小文件计算MD5时,可以把文件数据一次性都读到内存中计算,但当文件很大时,将文件一次性读到内存中是不可行的,此时,需要对文件数据 ...

  9. Cocos Creator 热更新文件MD5计算和需要注意的问题

    Creator的热更新使用jsb.热更新基本按照 http://docs.cocos.com/creator/manual/zh/advanced-topics/hot-update.html?h=% ...

最新文章

  1. 基于托管C++的增删改查及异步回调小程序
  2. Eclipse 中查看一个方法被哪些对象引用了
  3. 蝉联IDC机器学习平台市场No.1 第四范式市场领先优势持续扩大
  4. JavaScript 是如何工作的:解析、抽象语法树(AST)+ 提升编译速度5个技巧
  5. python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解
  6. 谷歌guava_Google Guava:您永远不会知道的5件事
  7. matlab画图小记tickdir\YTick\YTick
  8. C# 获取枚举的DescriptionAttribute内的字符串
  9. Docker小结(五)
  10. PCFG中inside和outside算法详解
  11. 一寸二寸证件大头半身照制作合成微信流量主小程序
  12. Arcpro进行卫星影像融合
  13. 7種解決方案修復請將磁片插入磁碟機
  14. win7系统安装信息服务器不可用怎么办,Win7系统RPC服务器不可用怎么办?
  15. 学习自旋电子学的笔记01:微磁模拟软件OOMMF的教程(中文版)17-17.3章
  16. Java的switch选择结构
  17. HCIE(4)——UDP DOS攻击
  18. 汇编总结:lea指令
  19. 武大教授计算机学院,武汉大学计算机学院董文永教授受邀到我院进行学术交流...
  20. kali Linux 安装中文语言及输入法

热门文章

  1. rabbitmq 更细致的过滤
  2. 闭包会造成内存泄漏吗?
  3. MySQL的基本语法(授权与备份)
  4. Jquery的基础学习
  5. 微软推出Azure区块链开发套件,重点解决两大难题
  6. Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结
  7. ASP.NET MVC5总结(二)@HTML扩展
  8. Address already in use
  9. 如何去掉自动弹出IE9介绍页
  10. android 最全的shape属性