encodeURIComponent , md5

來源:互聯網
上載者:User

var getMD5 = function(filedata){</p><p> var md5 = "md5";<br /> if(filedata != null && filedata != "" && filedata != "null" && filedata != " "){<br /> var uiXmlForMD5 = filedata;</p><p> uiXmlForMD5 = uiXmlForMD5.replace(//"/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(" encoding=GB2312","");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//r/n/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//s/g,"");//去掉所有空格<br /> uiXmlForMD5 = uiXmlForMD5.replace(//_/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//-/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//——/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//(/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//)/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//(/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//)/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//:/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//:/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//,/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//,/g,"");<br /> uiXmlForMD5 = uiXmlForMD5.replace(//、/g,"");</p><p> uiXmlForMD5 = encodeURIComponent(uiXmlForMD5);<br /> md5 = top.securityMD5(uiXmlForMD5);<br /> }</p><p> return md5;</p><p>}<br />

 

function securityMD5(sMessage) {<br />function RotateLeft(lValue, iShiftBits) {<br />return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));<br />}<br />function AddUnsigned(lX, lY) {<br />var lX4, lY4, lX8, lY8, lResult;<br />lX8 = (lX & 2147483648);<br />lY8 = (lY & 2147483648);<br />lX4 = (lX & 1073741824);<br />lY4 = (lY & 1073741824);<br />lResult = (lX & 1073741823) + (lY & 1073741823);<br />if (lX4 & lY4) {<br />return (lResult ^ 2147483648 ^ lX8 ^ lY8);<br />}<br />if (lX4 | lY4) {<br />if (lResult & 1073741824) {<br />return (lResult ^ 3221225472 ^ lX8 ^ lY8);<br />} else {<br />return (lResult ^ 1073741824 ^ lX8 ^ lY8);<br />}<br />} else {<br />return (lResult ^ lX8 ^ lY8);<br />}<br />}<br />function F(x, y, z) {<br />return (x & y) | ((~x) & z);<br />}<br />function G(x, y, z) {<br />return (x & z) | (y & (~z));<br />}<br />function H(x, y, z) {<br />return (x ^ y ^ z);<br />}<br />function I(x, y, z) {<br />return (y ^ (x | (~z)));<br />}<br />function FF(a, b, c, d, x, s, ac) {<br />a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));<br />return AddUnsigned(RotateLeft(a, s), b);<br />}<br />function GG(a, b, c, d, x, s, ac) {<br />a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));<br />return AddUnsigned(RotateLeft(a, s), b);<br />}<br />function HH(a, b, c, d, x, s, ac) {<br />a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));<br />return AddUnsigned(RotateLeft(a, s), b);<br />}<br />function II(a, b, c, d, x, s, ac) {<br />a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));<br />return AddUnsigned(RotateLeft(a, s), b);<br />}<br />function ConvertToWordArray(sMessage) {<br />var lWordCount;<br />var lMessageLength = sMessage.length;<br />var lNumberOfWords_temp1 = lMessageLength + 8;<br />var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;<br />var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;<br />var lWordArray = Array(lNumberOfWords - 1);<br />var lBytePosition = 0;<br />var lByteCount = 0;<br />while (lByteCount < lMessageLength) {<br />lWordCount = (lByteCount - (lByteCount % 4)) / 4;<br />lBytePosition = (lByteCount % 4) * 8;<br />lWordArray[lWordCount] = (lWordArray[lWordCount] | (sMessage.charCodeAt(lByteCount) << lBytePosition));<br />lByteCount++;<br />}<br />lWordCount = (lByteCount - (lByteCount % 4)) / 4;<br />lBytePosition = (lByteCount % 4) * 8;<br />lWordArray[lWordCount] = lWordArray[lWordCount] | (128 << lBytePosition);<br />lWordArray[lNumberOfWords - 2] = lMessageLength << 3;<br />lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;<br />return lWordArray;<br />}<br />function WordToHex(lValue) {<br />var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount;<br />for (lCount = 0; lCount <= 3; lCount++) {<br />lByte = (lValue >>> (lCount * 8)) & 255;<br />WordToHexValue_temp = "0" + lByte.toString(16);<br />WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);<br />}<br />return WordToHexValue;<br />}<br />var x = Array();<br />var k, AA, BB, CC, DD, a, b, c, d;<br />var S11 = 7, S12 = 12, S13 = 17, S14 = 22;<br />var S21 = 5, S22 = 9, S23 = 14, S24 = 20;<br />var S31 = 4, S32 = 11, S33 = 16, S34 = 23;<br />var S41 = 6, S42 = 10, S43 = 15, S44 = 21;<br />// Steps 1 and 2. Append padding bits and length and convert to words<br />x = ConvertToWordArray(sMessage);<br />// Step 3. Initialise<br />a = 1732584193;<br />b = 4023233417;<br />c = 2562383102;<br />d = 271733878;<br />// Step 4. Process the message in 16-word blocks<br />for (k = 0; k < x.length; k += 16) {<br />AA = a;<br />BB = b;<br />CC = c;<br />DD = d;<br />a = FF(a, b, c, d, x[k + 0], S11, 3614090360);<br />d = FF(d, a, b, c, x[k + 1], S12, 3905402710);<br />c = FF(c, d, a, b, x[k + 2], S13, 606105819);<br />b = FF(b, c, d, a, x[k + 3], S14, 3250441966);<br />a = FF(a, b, c, d, x[k + 4], S11, 4118548399);<br />d = FF(d, a, b, c, x[k + 5], S12, 1200080426);<br />c = FF(c, d, a, b, x[k + 6], S13, 2821735955);<br />b = FF(b, c, d, a, x[k + 7], S14, 4249261313);<br />a = FF(a, b, c, d, x[k + 8], S11, 1770035416);<br />d = FF(d, a, b, c, x[k + 9], S12, 2336552879);<br />c = FF(c, d, a, b, x[k + 10], S13, 4294925233);<br />b = FF(b, c, d, a, x[k + 11], S14, 2304563134);<br />a = FF(a, b, c, d, x[k + 12], S11, 1804603682);<br />d = FF(d, a, b, c, x[k + 13], S12, 4254626195);<br />c = FF(c, d, a, b, x[k + 14], S13, 2792965006);<br />b = FF(b, c, d, a, x[k + 15], S14, 1236535329);<br />a = GG(a, b, c, d, x[k + 1], S21, 4129170786);<br />d = GG(d, a, b, c, x[k + 6], S22, 3225465664);<br />c = GG(c, d, a, b, x[k + 11], S23, 643717713);<br />b = GG(b, c, d, a, x[k + 0], S24, 3921069994);<br />a = GG(a, b, c, d, x[k + 5], S21, 3593408605);<br />d = GG(d, a, b, c, x[k + 10], S22, 38016083);<br />c = GG(c, d, a, b, x[k + 15], S23, 3634488961);<br />b = GG(b, c, d, a, x[k + 4], S24, 3889429448);<br />a = GG(a, b, c, d, x[k + 9], S21, 568446438);<br />d = GG(d, a, b, c, x[k + 14], S22, 3275163606);<br />c = GG(c, d, a, b, x[k + 3], S23, 4107603335);<br />b = GG(b, c, d, a, x[k + 8], S24, 1163531501);<br />a = GG(a, b, c, d, x[k + 13], S21, 2850285829);<br />d = GG(d, a, b, c, x[k + 2], S22, 4243563512);<br />c = GG(c, d, a, b, x[k + 7], S23, 1735328473);<br />b = GG(b, c, d, a, x[k + 12], S24, 2368359562);<br />a = HH(a, b, c, d, x[k + 5], S31, 4294588738);<br />d = HH(d, a, b, c, x[k + 8], S32, 2272392833);<br />c = HH(c, d, a, b, x[k + 11], S33, 1839030562);<br />b = HH(b, c, d, a, x[k + 14], S34, 4259657740);<br />a = HH(a, b, c, d, x[k + 1], S31, 2763975236);<br />d = HH(d, a, b, c, x[k + 4], S32, 1272893353);<br />c = HH(c, d, a, b, x[k + 7], S33, 4139469664);<br />b = HH(b, c, d, a, x[k + 10], S34, 3200236656);<br />a = HH(a, b, c, d, x[k + 13], S31, 681279174);<br />d = HH(d, a, b, c, x[k + 0], S32, 3936430074);<br />c = HH(c, d, a, b, x[k + 3], S33, 3572445317);<br />b = HH(b, c, d, a, x[k + 6], S34, 76029189);<br />a = HH(a, b, c, d, x[k + 9], S31, 3654602809);<br />d = HH(d, a, b, c, x[k + 12], S32, 3873151461);<br />c = HH(c, d, a, b, x[k + 15], S33, 530742520);<br />b = HH(b, c, d, a, x[k + 2], S34, 3299628645);<br />a = II(a, b, c, d, x[k + 0], S41, 4096336452);<br />d = II(d, a, b, c, x[k + 7], S42, 1126891415);<br />c = II(c, d, a, b, x[k + 14], S43, 2878612391);<br />b = II(b, c, d, a, x[k + 5], S44, 4237533241);<br />a = II(a, b, c, d, x[k + 12], S41, 1700485571);<br />d = II(d, a, b, c, x[k + 3], S42, 2399980690);<br />c = II(c, d, a, b, x[k + 10], S43, 4293915773);<br />b = II(b, c, d, a, x[k + 1], S44, 2240044497);<br />a = II(a, b, c, d, x[k + 8], S41, 1873313359);<br />d = II(d, a, b, c, x[k + 15], S42, 4264355552);<br />c = II(c, d, a, b, x[k + 6], S43, 2734768916);<br />b = II(b, c, d, a, x[k + 13], S44, 1309151649);<br />a = II(a, b, c, d, x[k + 4], S41, 4149444226);<br />d = II(d, a, b, c, x[k + 11], S42, 3174756917);<br />c = II(c, d, a, b, x[k + 2], S43, 718787259);<br />b = II(b, c, d, a, x[k + 9], S44, 3951481745);<br />a = AddUnsigned(a, AA);<br />b = AddUnsigned(b, BB);<br />c = AddUnsigned(c, CC);<br />d = AddUnsigned(d, DD);<br />}<br />// Step 5. Output the 128 bit digest<br />var temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d);<br />return temp.toLowerCase();<br />}

 

public boolean saveSecprictrlpagexml() throws Exception{</p><p> boolean flag=true;</p><p> List<Map<String,List>> mapSecPageScene=new ArrayList<Map<String,List>>();<br /> Map<String, List> map = null; // 儲存列名、列值map<br /> try{<br /> List listAllPageId=this.secpagesceneDao.searchSecpagescene();<br /> this.secprictrlpagexmlDao.deleteSecpagescene();</p><p> if(null != listAllPageId && listAllPageId.size() > 0){</p><p> for(int i = 0; i < listAllPageId.size(); i++){</p><p> map = new HashMap<String, List>();<br /> String pageId = (String)listAllPageId.get(i);</p><p> List lists = this.secpagesceneDao.searchByStrpageid(pageId);</p><p> map.put(pageId, lists);<br /> mapSecPageScene.add(map);<br /> }</p><p> Element xmlElement=null;<br /> Element pageElement=null;</p><p> SecurityMd5 securityMd5=new SecurityMd5();</p><p> for(int i = 0; i < mapSecPageScene.size(); i++){</p><p> Iterator iter = mapSecPageScene.get(i).entrySet().iterator();<br /> while (iter.hasNext()) {</p><p>Map.Entry entrys = (Map.Entry) iter.next();<br />String pageId = String.valueOf(entrys.getKey());<br /> xmlElement= new Element("xml");<br /> pageElement=new Element("page");</p><p> pageElement.setAttribute("id", pageId);</p><p> List dataList = (List) entrys.getValue();</p><p> buildUIRecordOfAllSceneForPerPage(dataList,pageElement);</p><p> xmlElement.addContent(pageElement);<br /> Document mydocument=new Document(xmlElement);<br />XMLOutputter xmlout=new XMLOutputter();<br />Format format=Format.getPrettyFormat();<br />format.setEncoding("GB2312");<br />xmlout.setFormat(format);<br /> String outStr = xmlout.outputString(mydocument);</p><p> //插入頁面許可權控制xml映射表<br /> Secprictrlpagexml secprictrlpagexml=new Secprictrlpagexml();<br /> //System.out.println(outStr);<br /> secprictrlpagexml.setStrpageid(pageId);<br /> secprictrlpagexml.setStrprivixml(outStr.toString());<br /> long time = System.currentTimeMillis();<br />Long random = new Long(time);<br /> secprictrlpagexml.setStrpriversion(random.toString());</p><p> outStr = outStr.replaceAll("/"", "");<br /> outStr = outStr.replace(" encoding=GB2312", "");<br /> outStr = outStr.replaceAll("/r/n", "");<br /> outStr = outStr.replaceAll(" ", "");<br /> outStr = outStr.replaceAll("_", "");<br /> outStr = outStr.replaceAll("-", "");<br /> outStr = outStr.replaceAll("——", "");<br /> outStr = outStr.replaceAll("(", "");<br /> outStr = outStr.replaceAll(")", "");<br /> outStr = outStr.replaceAll("//(", "");<br /> outStr = outStr.replaceAll("//)", "");<br /> outStr = outStr.replaceAll(":", "");<br /> outStr = outStr.replaceAll(":", "");<br /> outStr = outStr.replaceAll("、", "");<br /> outStr = outStr.replaceAll(",", "");<br /> outStr = outStr.replaceAll(",", "");<br /> outStr = java.net.URLEncoder.encode(outStr,"utf-8"); //對引號、空格,括弧、換行的編碼與js的encodeURIComponent不同,故過濾掉。<br /> String o = securityMd5.dataDigest("MD5",outStr);<br /> /*System.out.println(o);<br /> System.out.println(outStr);*/<br /> secprictrlpagexml.setStrmd5(o);<br /> this.secprictrlpagexmlDao.saveSecprictrlpagexml(secprictrlpagexml);</p><p> }<br /> }</p><p> }<br /> }catch(Exception e){<br /> flag=false;<br /> e.printStackTrace();<br /> throw e;<br /> }<br />return flag;<br />}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.