<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/s//</link>
<title><![CDATA[MD5 加密之 java 与 js 实现]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[PHP/Java/Go]]></category>
<pubDate>Tue, 09 Jan 2024 08:45:10 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//</guid> 
<description>
<![CDATA[ 
	<p><span style="color: rgb(79, 79, 79); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif, SimHei, SimSun; font-size: 16px; text-align: justify;">MD5 加密算法实际是一种信息摘要算法，其加密不可逆向解密；</span></p><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif, SimHei, SimSun; font-size: 16px; line-height: 26px; text-rendering: optimizelegibility; color: rgb(79, 79, 79); text-align: justify;">其一般用作数据签名，来确保信息传输的完整性与安全性；</p><ul style="box-sizing: border-box; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; direction: ltr; font-size: 1.1em; line-height: 1.6; list-style-position: outside; font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif, SimHei, SimSun; color: rgb(34, 34, 34);"><li style="box-sizing: border-box; margin: 8px 0px 0px 32px; padding: 0px; direction: ltr; list-style-type: disc;">完整性：传输数据完整未丢失</li><li style="box-sizing: border-box; margin: 8px 0px 0px 32px; padding: 0px; direction: ltr; list-style-type: disc;">安全性：数据未被恶意篡改</li></ul><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; font-family: oswaldbook, sans-serif; color: rgb(79, 79, 79); text-rendering: optimizelegibility; line-height: 30px; font-size: 22px;">一、java 实现 MD5 加密</h3><div class="codeText"><div class="codeHead">Java代码</div><ol start="1" class="dp-j"><li class="alt"><span><span class="keyword">public</span><span> </span><span class="keyword">class</span><span> MD5Util &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp; </span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * 对字符串md5加密</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; *</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * @param str 传入要加密的字符串</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * @return MD5加密后的字符串(小写+字母)</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; */</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span> </span><span class="keyword">static</span><span> String getMD5LowerCase(String str) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span> &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 生成一个MD5加密计算摘要</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageDigest md = MessageDigest.getInstance(<span class="string">&quot;MD5&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 计算md5函数</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;md.update(str.getBytes());&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// digest()最后确定返回md5 hash值，返回值为8为字符串。因为md5 hash值是16位的hex值，实际上就是8位的字符</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// BigInteger函数则将8位的字符串转换成16位hex值，用字符串来表示；得到字符串形式的hash值</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">new</span><span> BigInteger(</span><span class="number">1</span><span>, md.digest()).toString(</span><span class="number">16</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <span class="keyword">catch</span><span> (Exception e) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">null</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp; </span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * 对字符串md5加密</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; *</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * @param str 传入要加密的字符串</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; * @return MD5加密后的字符串(大写+数字)</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; */</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp; </span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span> </span><span class="keyword">static</span><span> String getMD5UpperCase(String s) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">char</span><span> hexDigits[] = &#123; </span><span class="string">'0'</span><span>, </span><span class="string">'1'</span><span>, </span><span class="string">'2'</span><span>, </span><span class="string">'3'</span><span>, </span><span class="string">'4'</span><span>, </span><span class="string">'5'</span><span>, </span><span class="string">'6'</span><span>, </span><span class="string">'7'</span><span>, </span><span class="string">'8'</span><span>, </span><span class="string">'9'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">'A'</span><span>, </span><span class="string">'B'</span><span>, </span><span class="string">'C'</span><span>, </span><span class="string">'D'</span><span>, </span><span class="string">'E'</span><span>, </span><span class="string">'F'</span><span> &#125;;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span> &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span>[] btInput = s.getBytes();&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 获得MD5摘要算法的 MessageDigest 对象</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageDigest mdInst = MessageDigest.getInstance(<span class="string">&quot;MD5&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 使用指定的字节更新摘要</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mdInst.update(btInput);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 获得密文</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span>[] md = mdInst.digest();&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 把密文转换成十六进制的字符串形式</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span> j = md.length;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">char</span><span> str[] = </span><span class="keyword">new</span><span> </span><span class="keyword">char</span><span>[j * </span><span class="number">2</span><span>];&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span> k = </span><span class="number">0</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span> (</span><span class="keyword">int</span><span> i = </span><span class="number">0</span><span>; i &lt; j; i++) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span> byte0 = md[i];&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str[k++] = hexDigits[byte0 &gt;&gt;&gt; <span class="number">4</span><span> &amp; </span><span class="number">0xf</span><span>];&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str[k++] = hexDigits[byte0 &amp; <span class="number">0xf</span><span>];&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">new</span><span> String(str);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <span class="keyword">catch</span><span> (Exception e) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">null</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp; </span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span> </span><span class="keyword">static</span><span> </span><span class="keyword">void</span><span> main(String[] args) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String str = <span class="string">&quot;&#92;&quot;我+Admin1234~！@#￥%&hellip;&hellip;&amp;*（）&#92;&quot;&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&quot;我+Admin1234~！@#￥%&hellip;&hellip;&amp;*（）&quot;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String s1 = getMD5LowerCase(str);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s1);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//6bb6f83c026357a15cdf12e5d6b2b310</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String s2 = getMD5UpperCase(str);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s2);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//6BB6F83C026357A15CDF12E5D6B2B310</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li></ol></div><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; text-rendering: optimizelegibility; line-height: 30px;"><font color="#4f4f4f" face="oswaldbook, sans-serif"><span style="font-size: 22px;">测试</span></font></h3><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; text-rendering: optimizelegibility; line-height: 30px;"><font color="#4f4f4f" face="oswaldbook, sans-serif"><span style="font-size: 22px;">db06c78d1e24cf708a14ce81c9b617ec</span></font></h3><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; text-rendering: optimizelegibility; line-height: 30px;"><font color="#4f4f4f" face="oswaldbook, sans-serif"><span style="font-size: 22px;">DB06C78D1E24CF708A14CE81C9B617EC</span></font></h3><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; font-family: oswaldbook, sans-serif; color: rgb(79, 79, 79); text-rendering: optimizelegibility; line-height: 30px; font-size: 22px;"><img src="/attachment/2024/01/image/799.png" width="492" height="226" alt="" /></h3><h3 style="box-sizing: border-box; margin: 8px 0px 16px; padding: 0px; direction: ltr; font-family: oswaldbook, sans-serif; color: rgb(79, 79, 79); text-rendering: optimizelegibility; line-height: 30px; font-size: 22px;">二、js 实现 MD5 加密</h3><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif, SimHei, SimSun; font-size: 16px; line-height: 26px; text-rendering: optimizelegibility; color: rgb(79, 79, 79); text-align: justify;">使用第三方库 crypto-js，示例代码如下：</p><div class="codeText"><div class="codeHead">XML/HTML代码</div><ol start="1" class="dp-xml"><li class="alt"><span><span>&lt;!DOCTYPE html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">html</span><span> </span><span class="attribute">lang</span><span>=</span><span class="attribute-value">&quot;zh-CN&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">meta</span><span> </span><span class="attribute">charset</span><span>=</span><span class="attribute-value">&quot;utf-8&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>111</span><span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">style</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/css&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;body&#123;background:#2C91AE;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">script</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;http://172.16.102.156/public/crypto/crypto-js.min.js&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comments">&lt;!-- 中国文书网MD5加密封装方法调用 --&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">script</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/javascript&quot;</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;md5.js&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">script</span><span> </span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/javascript&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span>/*** 刘新修本地md5加密方法封装(大写) ***/&nbsp;&nbsp;</span></li><li class="alt"><span>// function md5(string) &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function rotateLeft(lValue, iShiftBits) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (lValue <span class="tag">&lt;</span><span class="tag">&lt;</span><span> </span><span class="tag-name">iShiftBits</span><span>) &#124; (lValue </span><span class="tag">&gt;</span><span class="tag">&gt;</span><span class="tag">&gt;</span><span> (32 - iShiftBits));&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; function addUnsigned(lX, lY) &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lX4, lY4, lX8, lY8, lResult;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lX8</span><span> = (lX &amp; 0x80000000);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lY8</span><span> = (lY &amp; 0x80000000);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lX4</span><span> = (lX &amp; 0x40000000);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lY4</span><span> = (lY &amp; 0x40000000);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lResult</span><span> = (lX &amp; 0x3FFFFFFF) + (lY &amp; 0x3FFFFFFF);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (lX4 &amp; lY4) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (lResult ^ 0x80000000 ^ lX8 ^ lY8);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (lX4 &#124; lY4) &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (lResult &amp; 0x40000000) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125; else &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (lResult ^ 0x40000000 ^ lX8 ^ lY8);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125; else &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (lResult ^ lX8 ^ lY8);&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function f(x, y, z) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (x &amp; y) &#124; ((~x) &amp; z);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function g(x, y, z) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (x &amp; z) &#124; (y &amp; (~z));&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function h(x, y, z) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (x ^ y ^ z);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function i(x, y, z) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (y ^ (x &#124; (~z)));&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function FF(a, b, c, d, x, s, ac) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(a, addUnsigned(addUnsigned(f(b, c, d), x), ac));&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return addUnsigned(rotateLeft(a, s), b);&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; function GG(a, b, c, d, x, s, ac) &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(a, addUnsigned(addUnsigned(g(b, c, d), x), ac));&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return addUnsigned(rotateLeft(a, s), b);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function HH(a, b, c, d, x, s, ac) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(a, addUnsigned(addUnsigned(h(b, c, d), x), ac));&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return addUnsigned(rotateLeft(a, s), b);&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; function II(a, b, c, d, x, s, ac) &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(a, addUnsigned(addUnsigned(i(b, c, d), x), ac));&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return addUnsigned(rotateLeft(a, s), b);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function convertToWordArray(string) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lWordCount;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lMessageLength</span><span> = </span><span class="attribute-value">string</span><span>.length;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lNumberOfWords_temp1</span><span> = </span><span class="attribute-value">lMessageLength</span><span> + 8;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lNumberOfWords_temp2</span><span> = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lNumberOfWords</span><span> = (lNumberOfWords_temp2 + 1) * 16;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lWordArray</span><span> = </span><span class="attribute-value">new</span><span> Array(lNumberOfWords - 1);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lBytePosition</span><span> = </span><span class="attribute-value">0</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">lByteCount</span><span> = </span><span class="attribute-value">0</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (lByteCount <span class="tag">&lt;</span><span> </span><span class="tag-name">lMessageLength</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lWordCount</span><span> = (lByteCount - (lByteCount % 4)) / 4;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lBytePosition</span><span> = (lByteCount % 4) * 8;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lWordArray[lWordCount] = (lWordArray[lWordCount] &#124; (string.charCodeAt(lByteCount) <span class="tag">&lt;</span><span class="tag">&lt;</span><span> </span><span class="tag-name">lBytePosition</span><span>));&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lByteCount++;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lWordCount</span><span> = (lByteCount - (lByteCount % 4)) / 4;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lBytePosition</span><span> = (lByteCount % 4) * 8;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lWordArray[lWordCount] = lWordArray[lWordCount] &#124; (0x80 <span class="tag">&lt;</span><span class="tag">&lt;</span><span> </span><span class="tag-name">lBytePosition</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lWordArray[lNumberOfWords - 2] = lMessageLength <span class="tag">&lt;</span><span class="tag">&lt;</span><span> </span><span class="tag-name">3</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lWordArray[lNumberOfWords - 1] = lMessageLength <span class="tag">&gt;</span><span class="tag">&gt;</span><span class="tag">&gt;</span><span> 29;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return lWordArray;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function wordToHex(lValue) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">WordToHexValue</span><span> = </span><span class="attribute-value">&quot;&quot;</span><span>, </span><span class="attribute">WordToHexValue_temp</span><span> = </span><span class="attribute-value">&quot;&quot;</span><span>, lByte, lCount;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (<span class="attribute">lCount</span><span> = </span><span class="attribute-value">0</span><span>; lCount </span><span class="tag">&lt;</span><span>= 3; lCount++) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">lByte</span><span> = (lValue </span><span class="tag">&gt;</span><span class="tag">&gt;</span><span class="tag">&gt;</span><span> (lCount * 8)) &amp; 255;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">WordToHexValue_temp</span><span> = </span><span class="attribute-value">&quot;0&quot;</span><span> + lByte.toString(16);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">WordToHexValue</span><span class="attribute-value">WordToHexValue</span><span> = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return WordToHexValue;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; function utf8Encode(string) &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">string</span><span class="attribute-value">string</span><span> = string.replace(/&#92;r&#92;n/g, &quot;&#92;n&quot;);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">utftext</span><span> = </span><span class="attribute-value">&quot;&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var <span class="attribute">n</span><span> = </span><span class="attribute-value">0</span><span>; n </span><span class="tag">&lt;</span><span> </span><span class="tag-name">string.length</span><span>; n++) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">c</span><span> = </span><span class="attribute-value">string</span><span>.charCodeAt(n);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (c <span class="tag">&lt;</span><span> </span><span class="tag-name">128</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode(c);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if ((c <span class="tag">&gt;</span><span> 127) &amp;&amp; (c </span><span class="tag">&lt;</span><span> </span><span class="tag-name">2048</span><span>)) &#123;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode((c <span class="tag">&gt;</span><span class="tag">&gt;</span><span> 6) &#124; 192);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode((c &amp; 63) &#124; 128);&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else &#123;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode((c <span class="tag">&gt;</span><span class="tag">&gt;</span><span> 12) &#124; 224);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode(((c <span class="tag">&gt;</span><span class="tag">&gt;</span><span> 6) &amp; 63) &#124; 128);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; utftext += String.fromCharCode((c &amp; 63) &#124; 128);&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return utftext;&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">x</span><span> = [],&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k, AA, BB, CC, DD, a, b, c, d,&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">S11</span><span> = </span><span class="attribute-value">7</span><span>, </span><span class="attribute">S12</span><span> = 12, </span><span class="attribute">S13</span><span> = </span><span class="attribute-value">17</span><span>, </span><span class="attribute">S14</span><span> = </span><span class="attribute-value">22</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">S21</span><span> = </span><span class="attribute-value">5</span><span>, </span><span class="attribute">S22</span><span> = </span><span class="attribute-value">9</span><span> , </span><span class="attribute">S23</span><span> = </span><span class="attribute-value">14</span><span>, </span><span class="attribute">S24</span><span> = </span><span class="attribute-value">20</span><span>,&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">S31</span><span> = </span><span class="attribute-value">4</span><span>, </span><span class="attribute">S32</span><span> = </span><span class="attribute-value">11</span><span>, </span><span class="attribute">S33</span><span> = </span><span class="attribute-value">16</span><span>, </span><span class="attribute">S34</span><span> = </span><span class="attribute-value">23</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">S41</span><span> = </span><span class="attribute-value">6</span><span>, </span><span class="attribute">S42</span><span> = </span><span class="attribute-value">10</span><span>, </span><span class="attribute">S43</span><span> = </span><span class="attribute-value">15</span><span>, </span><span class="attribute">S44</span><span> = </span><span class="attribute-value">21</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">string</span><span> = </span><span class="attribute-value">utf8Encode</span><span>(string);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">x</span><span> = </span><span class="attribute-value">convertToWordArray</span><span>(string);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; // console.log(JSON.stringify(x))&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; // console.log(x.length)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">0x67452301</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">0xEFCDAB89</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">0x98BADCFE</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">0x10325476</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; for (<span class="attribute">k</span><span> = </span><span class="attribute-value">0</span><span>; k </span><span class="tag">&lt;</span><span> </span><span class="tag-name">x.length</span><span>; k += 16) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">AA</span><span> = </span><span class="attribute-value">a</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">BB</span><span> = </span><span class="attribute-value">b</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">CC</span><span> = </span><span class="attribute-value">c</span><span>;&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">DD</span><span> = </span><span class="attribute-value">d</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">FF</span><span>(a, b, c, d, x[k + 0], S11, 0xD76AA478);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">FF</span><span>(d, a, b, c, x[k + 1], S12, 0xE8C7B756);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">FF</span><span>(c, d, a, b, x[k + 2], S13, 0x242070DB);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">FF</span><span>(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">FF</span><span>(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">FF</span><span>(d, a, b, c, x[k + 5], S12, 0x4787C62A);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">FF</span><span>(c, d, a, b, x[k + 6], S13, 0xA8304613);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">FF</span><span>(b, c, d, a, x[k + 7], S14, 0xFD469501);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">FF</span><span>(a, b, c, d, x[k + 8], S11, 0x698098D8);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">FF</span><span>(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">FF</span><span>(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">FF</span><span>(b, c, d, a, x[k + 11], S14, 0x895CD7BE);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">FF</span><span>(a, b, c, d, x[k + 12], S11, 0x6B901122);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">FF</span><span>(d, a, b, c, x[k + 13], S12, 0xFD987193);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">FF</span><span>(c, d, a, b, x[k + 14], S13, 0xA679438E);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">FF</span><span>(b, c, d, a, x[k + 15], S14, 0x49B40821);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">GG</span><span>(a, b, c, d, x[k + 1], S21, 0xF61E2562);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">GG</span><span>(d, a, b, c, x[k + 6], S22, 0xC040B340);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">GG</span><span>(c, d, a, b, x[k + 11], S23, 0x265E5A51);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">GG</span><span>(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">GG</span><span>(a, b, c, d, x[k + 5], S21, 0xD62F105D);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">GG</span><span>(d, a, b, c, x[k + 10], S22, 0x2441453);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">GG</span><span>(c, d, a, b, x[k + 15], S23, 0xD8A1E681);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">GG</span><span>(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">GG</span><span>(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">GG</span><span>(d, a, b, c, x[k + 14], S22, 0xC33707D6);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">GG</span><span>(c, d, a, b, x[k + 3], S23, 0xF4D50D87);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">GG</span><span>(b, c, d, a, x[k + 8], S24, 0x455A14ED);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">GG</span><span>(a, b, c, d, x[k + 13], S21, 0xA9E3E905);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">GG</span><span>(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">GG</span><span>(c, d, a, b, x[k + 7], S23, 0x676F02D9);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">GG</span><span>(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">HH</span><span>(a, b, c, d, x[k + 5], S31, 0xFFFA3942);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">HH</span><span>(d, a, b, c, x[k + 8], S32, 0x8771F681);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">HH</span><span>(c, d, a, b, x[k + 11], S33, 0x6D9D6122);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">HH</span><span>(b, c, d, a, x[k + 14], S34, 0xFDE5380C);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">HH</span><span>(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">HH</span><span>(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">HH</span><span>(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">HH</span><span>(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">HH</span><span>(a, b, c, d, x[k + 13], S31, 0x289B7EC6);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">HH</span><span>(d, a, b, c, x[k + 0], S32, 0xEAA127FA);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">HH</span><span>(c, d, a, b, x[k + 3], S33, 0xD4EF3085);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">HH</span><span>(b, c, d, a, x[k + 6], S34, 0x4881D05);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">HH</span><span>(a, b, c, d, x[k + 9], S31, 0xD9D4D039);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">HH</span><span>(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">HH</span><span>(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">HH</span><span>(b, c, d, a, x[k + 2], S34, 0xC4AC5665);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">II</span><span>(a, b, c, d, x[k + 0], S41, 0xF4292244);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">II</span><span>(d, a, b, c, x[k + 7], S42, 0x432AFF97);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">II</span><span>(c, d, a, b, x[k + 14], S43, 0xAB9423A7);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">II</span><span>(b, c, d, a, x[k + 5], S44, 0xFC93A039);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">II</span><span>(a, b, c, d, x[k + 12], S41, 0x655B59C3);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">II</span><span>(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">II</span><span>(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">II</span><span>(b, c, d, a, x[k + 1], S44, 0x85845DD1);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">II</span><span>(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">II</span><span>(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">II</span><span>(c, d, a, b, x[k + 6], S43, 0xA3014314);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">II</span><span>(b, c, d, a, x[k + 13], S44, 0x4E0811A1);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">II</span><span>(a, b, c, d, x[k + 4], S41, 0xF7537E82);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">II</span><span>(d, a, b, c, x[k + 11], S42, 0xBD3AF235);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">II</span><span>(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">II</span><span>(b, c, d, a, x[k + 9], S44, 0xEB86D391);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">a</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(a, AA);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">b</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(b, BB);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">c</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(c, CC);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute">d</span><span> = </span><span class="attribute-value">addUnsigned</span><span>(d, DD);&nbsp;&nbsp;</span></span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>//&nbsp;&nbsp;&nbsp;&nbsp; var <span class="attribute">temp</span><span> = </span><span class="attribute-value">wordToHex</span><span>(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);&nbsp;&nbsp;</span></span></li><li><span>//&nbsp;&nbsp;&nbsp;&nbsp; return temp.toUpperCase();&nbsp;&nbsp;</span></li><li class="alt"><span>// &#125;;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>// console.log('刘新修本地封装/md5加密(--测试--)', md5('测试'))&nbsp;&nbsp;</span></li><li><span>//&quot;DB06C78D1E24CF708A14CE81C9B617EC&quot;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>/*** 第三方类库CryptoJS.MD5()方法 &#124;&#124; 和中国文书网测试结果一致(小写) ***/&nbsp;&nbsp;</span></li><li><span>console.log('刘新修/CryptoJS.MD5()-加密(--测试--)&#92;n', CryptoJS.MD5('测试').toString())&nbsp;&nbsp;</span></li><li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; line-height: 26px; text-rendering: optimizelegibility; text-align: justify;"><font color="#4f4f4f" face="-apple-system, SF UI Text, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif, SimHei, SimSun"><span style="font-size: 16px;">中网文书网/MD5加密(--测试--) db06c78d1e24cf708a14ce81c9b617ec</span></font></p><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; line-height: 26px; text-rendering: optimizelegibility; text-align: justify;"><font color="#4f4f4f" face="-apple-system, SF UI Text, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif, SimHei, SimSun"><span style="font-size: 16px;">刘新修/CryptoJS.MD5()-加密(--测试--) db06c78d1e24cf708a14ce81c9b617ec</span></font></p><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; line-height: 26px; text-rendering: optimizelegibility; text-align: justify;">&nbsp;</p><p style="box-sizing: border-box; margin-bottom: 16px; direction: ltr; font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif, SimHei, SimSun; font-size: 16px; line-height: 26px; text-rendering: optimizelegibility; color: rgb(79, 79, 79); text-align: justify;">这个文件只能在登入之后下载。请先 <a href="http://liuxinxiu.com:80/login.php?job=register">注册</a> 或 <a href="http://liuxinxiu.com:80/login.php">登入</a></p>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/s//#blogcomment</link>
<title><![CDATA[[评论] MD5 加密之 java 与 js 实现]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>