小程序如何使用md5
1、下載MD5源文件(JS);
2、在小程序模塊中使用require引入外部模塊;也可以在app.js中直接全局引入md5.js文件。
因為源md5.js中沒有對模塊進行輸出,如果使用require需要export,所以在md5.js中需要加入以下代碼:
module.exports={hexMD5:hex_md5,//需要輸出的加密算法,我這邊只寫了我需要得兩種b64Md5:b64_md5,}
在js文件中使用require引入md5:
推薦學習:小程序開發
constmd5=require('../../assets/js/md5/md5.js');
使用:
letb64=md5.b64Md5(code);//code需要加密的數據
下面是我的文件結構:
/**AJavaScriptimplementationoftheRSADataSecurity,Inc.MD5Message*DigestAlgorithm,asdefinedinRFC1321.*Version2.1Copyright(C)PaulJohnston1999-2002.*Othercontributors:GregHolt,AndrewKepert,Ydnar,Lostinet*DistributedundertheBSDLicense*Seehttp://pajhome.org.uk/crypt/md5formoreinfo.*//**Configurablevariables.Youmayneedtotweakthesetobecompatiblewith*theserver-side,butthedefaultsworkinmostcases.*/varhexcase=0;/*hexoutputformat.0-lowercase;1-uppercase*/varb64pad="";/*base-64padcharacter."="forstrictRFCcompliance*/varchrsz=8;/*bitsperinputcharacter.8-ASCII;16-Unicode*//**Thesearethefunctionsyou'llusuallywanttocall*Theytakestringargumentsandreturneitherhexorbase-64encodedstrings*/functionhex_md5(s){returnbinl2hex(core_md5(str2binl(s),s.length*chrsz));}functionb64_md5(s){returnbinl2b64(core_md5(str2binl(s),s.length*chrsz));}functionstr_md5(s){returnbinl2str(core_md5(str2binl(s),s.length*chrsz));}functionhex_hmac_md5(key,data){returnbinl2hex(core_hmac_md5(key,data));}functionb64_hmac_md5(key,data){returnbinl2b64(core_hmac_md5(key,data));}functionstr_hmac_md5(key,data){returnbinl2str(core_hmac_md5(key,data));}/**Performasimpleself-testtoseeiftheVMisworking*/functionmd5_vm_test(){returnhex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72";}/**CalculatetheMD5ofanarrayoflittle-endianwords,andabitlength*/functioncore_md5(x,len){/*appendpadding*/x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;vara=1732584193;varb=-271733879;varc=-1732584194;vard=271733878;for(vari=0;i<x.length;i+=16){varolda=a;varoldb=b;varoldc=c;varoldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);}returnArray(a,b,c,d);}/**Thesefunctionsimplementthefourbasicoperationsthealgorithmuses.*/functionmd5_cmn(q,a,b,x,s,t){returnsafe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);}functionmd5_ff(a,b,c,d,x,s,t){returnmd5_cmn((b&c)|((~b)&d),a,b,x,s,t);}functionmd5_gg(a,b,c,d,x,s,t){returnmd5_cmn((b&d)|(c&(~d)),a,b,x,s,t);}functionmd5_hh(a,b,c,d,x,s,t){returnmd5_cmn(b^c^d,a,b,x,s,t);}functionmd5_ii(a,b,c,d,x,s,t){returnmd5_cmn(c^(b|(~d)),a,b,x,s,t);}/**CalculatetheHMAC-MD5,ofakeyandsomedata*/functioncore_hmac_md5(key,data){varbkey=str2binl(key);if(bkey.length>16)bkey=core_md5(bkey,key.length*chrsz);varipad=Array(16),opad=Array(16);for(vari=0;i<16;i++){ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}varhash=core_md5(ipad.concat(str2binl(data)),512+data.length*chrsz);returncore_md5(opad.concat(hash),512+128);}/**Addintegers,wrappingat2^32.Thisuses16-bitoperationsinternally*toworkaroundbugsinsomeJSinterpreters.*/functionsafe_add(x,y){varlsw=(x&0xFFFF)+(y&0xFFFF);varmsw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}/**Bitwiserotatea32-bitnumbertotheleft.*/functionbit_rol(num,cnt){return(num<<cnt)|(num>>>(32-cnt));}/**Convertastringtoanarrayoflittle-endianwords*IfchrszisASCII,characters>255havetheirhi-bytesilentlyignored.*/functionstr2binl(str){varbin=Array();varmask=(1<<chrsz)-1;for(vari=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(i%32);returnbin;}/**Convertanarrayoflittle-endianwordstoastring*/functionbinl2str(bin){varstr="";varmask=(1<<chrsz)-1;for(vari=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);returnstr;}/**Convertanarrayoflittle-endianwordstoahexstring.*/functionbinl2hex(binarray){varhex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";varstr="";for(vari=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}returnstr;}/**Convertanarrayoflittle-endianwordstoabase-64string*/functionbinl2b64(binarray){vartab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";varstr="";for(vari=0;i<binarray.length*4;i+=3){vartriplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);for(varj=0;j<4;j++){if(i*8+j*6>binarray.length*32)str+=b64pad;elsestr+=tab.charAt((triplet>>6*(3-j))&0x3F);}}returnstr;}module.exports={hexMD5:hex_md5,b64Md5:b64_md5,}
感謝各位的閱讀!關于小程序使用md5的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
創業板鑫東財配資買漲不買跌怎么回事?大多數股民選擇離開A股市場,是因為股市并不具備賺錢效應,更是在保護投資者的利益中不斷的讓股民們流淚,導致進入股市中90%的投資者都是虧損。而散戶是證券市場不可分割的部分,占了80%的體量,卻也是股市受傷最大的群體,在交易制度中受到了限制,在風險對沖中對于股指期貨和融券卻設了50萬門檻,更是在外圍股市走出十年長牛時,只能做多的市場卻是長期的走熊,本想賺點利潤改善生...
(資料圖)最近這段時間總有小伙伴問小編法醫秦明第一部結局是什么,小編為此在網上搜尋了一些有關于法醫秦明第一部結局的知識送給大家,希望能解答各位小伙伴的疑惑?!斗ㄡt秦明》第一部的結局:林濤和秦明一起救出了大寶。當新的命案發生時,鐵三角再度整裝待發,一起前往命案現場,為每一個死者查明真相,找出幕后真兇?!斗ㄡt秦明》是一部懸疑偵案劇,由徐昂執導,張若昀、李現、焦俊艷主演。該劇改編自秦明的文學作品《第十一...
潘婷是一個非常著名的洗發水品牌,創立于1947年,價格親民。一直倡導健康護發,贏得了不少消費者的關注。相信消費者在購買洗發水的時候會愿意相信這個品牌。那么,潘婷洗發水到底有什么效果呢?接下來,邊肖將為大家仔細介紹設計、性能和品牌。潘婷洗發水是如何工作的?潘婷洗發水簡介潘婷洗發水是寶潔公司生產的一種高端洗發水,與海飛絲、飄柔、沙宣等知名品牌齊名。它的特點是修復頭發的能力強,保濕,給頭發最好的護理,使...