Flex Base64 md5 123456后得到4QrcOUm6Wau+VuBX8g+IPg==
发布时间:2020-12-15 03:52:06 所属栏目:百科 来源:网络整理
导读:想在flex前台加密后再传输密码 但是用flex带的as3corelib MD5"123456"后的Base64编码却是ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U= 而不是我想要的 4QrcOUm6Wau+VuBX8g+IPg== 于是把以前用的js直接copy然后稍微修改下就行了 以此做为一个记录 public?cl
想在flex前台加密后再传输密码 但是用flex带的as3corelib MD5"123456"后的Base64编码却是ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U= 于是把以前用的js直接copy然后稍微修改下就行了 以此做为一个记录 public?class?MD5 ?{ ??private?var?hexcase:int=0;?/*?hex?output?format.?0?-?lowercase;?1?-?uppercase?*/ ??private?var?b64pad:String="=";?/*?base-64?pad?character.?"="?for?strict?RFC?compliance?*/ ??private?var?chrsz:int=8;?/*?bits?per?input?character.?8?-?ASCII;?16?-?Unicode?*/ ??public?function?b64_md5(s:String):String ??{ ???return?binl2b64(core_md5(str2binl(s),?s.length?*?chrsz)); ??} ??private?function?core_md5(x:Array,?len:int):Array ??{ ???x[len?>>?5]|=0x80?<<?((len)?%?32); ???x[(((len?+?64)?>>>?9)?<<?4)?+?14]=len; ???var?a:int=1732584193; ???var?b:int=-271733879; ???var?c:int=-1732584194; ???var?d:int=271733878; ???for?(var?i:int=0;?i?<?x.length;?i+=16) ???{ ????var?olda:int=a; ????var?oldb:int=b; ????var?oldc:int=c; ????var?oldd:int=d; ????a=md5_ff(a,?b,?c,?d,?x[i?+?0],?7,?-680876936); ????d=md5_ff(d,?a,?x[i?+?1],?12,?-389564586); ????c=md5_ff(c,?x[i?+?2],?17,?606105819); ????b=md5_ff(b,?x[i?+?3],?22,?-1044525330); ????a=md5_ff(a,?x[i?+?4],?-176418897); ????d=md5_ff(d,?x[i?+?5],?1200080426); ????c=md5_ff(c,?x[i?+?6],?-1473231341); ????b=md5_ff(b,?x[i?+?7],?-45705983); ????a=md5_ff(a,?x[i?+?8],?1770035416); ????d=md5_ff(d,?x[i?+?9],?-1958414417); ????c=md5_ff(c,?x[i?+?10],?-42063); ????b=md5_ff(b,?x[i?+?11],?-1990404162); ????a=md5_ff(a,?x[i?+?12],?1804603682); ????d=md5_ff(d,?x[i?+?13],?-40341101); ????c=md5_ff(c,?x[i?+?14],?-1502002290); ????b=md5_ff(b,?x[i?+?15],?1236535329); ????a=md5_gg(a,?5,?-165796510); ????d=md5_gg(d,?9,?-1069501632); ????c=md5_gg(c,?14,?643717713); ????b=md5_gg(b,?20,?-373897302); ????a=md5_gg(a,?-701558691); ????d=md5_gg(d,?38016083); ????c=md5_gg(c,?-660478335); ????b=md5_gg(b,?-405537848); ????a=md5_gg(a,?568446438); ????d=md5_gg(d,?-1019803690); ????c=md5_gg(c,?-187363961); ????b=md5_gg(b,?1163531501); ????a=md5_gg(a,?-1444681467); ????d=md5_gg(d,?-51403784); ????c=md5_gg(c,?1735328473); ????b=md5_gg(b,?-1926607734); ????a=md5_hh(a,?4,?-378558); ????d=md5_hh(d,?11,?-2022574463); ????c=md5_hh(c,?16,?1839030562); ????b=md5_hh(b,?23,?-35309556); ????a=md5_hh(a,?-1530992060); ????d=md5_hh(d,?1272893353); ????c=md5_hh(c,?-155497632); ????b=md5_hh(b,?-1094730640); ????a=md5_hh(a,?681279174); ????d=md5_hh(d,?-358537222); ????c=md5_hh(c,?-722521979); ????b=md5_hh(b,?76029189); ????a=md5_hh(a,?-640364487); ????d=md5_hh(d,?-421815835); ????c=md5_hh(c,?530742520); ????b=md5_hh(b,?-995338651); ????a=md5_ii(a,?6,?-198630844); ????d=md5_ii(d,?10,?1126891415); ????c=md5_ii(c,?15,?-1416354905); ????b=md5_ii(b,?21,?-57434055); ????a=md5_ii(a,?1700485571); ????d=md5_ii(d,?-1894986606); ????c=md5_ii(c,?-1051523); ????b=md5_ii(b,?-2054922799); ????a=md5_ii(a,?1873313359); ????d=md5_ii(d,?-30611744); ????c=md5_ii(c,?-1560198380); ????b=md5_ii(b,?1309151649); ????a=md5_ii(a,?-145523070); ????d=md5_ii(d,?-1120210379); ????c=md5_ii(c,?718787259); ????b=md5_ii(b,?-343485551); ????a=safe_add(a,?olda); ????b=safe_add(b,?oldb); ????c=safe_add(c,?oldc); ????d=safe_add(d,?oldd); ???} ???return?[a,?d]; ??} ??private?function?md5_cmn(q:int,?a:int,?b:int,?x:int,?s:int,?t:int):int ??{ ???return?safe_add(bit_rol(safe_add(safe_add(a,?q),?safe_add(x,?t)),?s),?b); ??} ??private?function?md5_ff(a:int,?c:int,?d:int,?t:int):int ??{ ???return?md5_cmn((b?&?c)?|?((~b)?&?d),?x,?s,?t); ??} ??private?function?md5_gg(a:int,?t:int):int ??{ ???return?md5_cmn((b?&?d)?|?(c?&?(~d)),?t); ??} ??private?function?md5_hh(a:int,?t:int):int ??{ ???return?md5_cmn(b?^?c?^?d,?t); ??} ??private?function?md5_ii(a:int,?t:int):int ??{ ???return?md5_cmn(c?^?(b?|?(~d)),?t); ??} ??private?function?safe_add(x:int,?y:int):int ??{ ???var?lsw:int=(x?&?0xFFFF)?+?(y?&?0xFFFF); ???var?msw:int=(x?>>?16)?+?(y?>>?16)?+?(lsw?>>?16); ???return?(msw?<<?16)?|?(lsw?&?0xFFFF); ??} ??private?function?bit_rol(num:int,?cnt:int):int ??{ ???return?(num?<<?cnt)?|?(num?>>>?(32?-?cnt)); ??} ??private?function?str2binl(str:String):Array ??{ ???var?bin:Array=new?Array(); ???var?mask:int=(1?<<?chrsz)?-?1; ???for?(var?i:int=0;?i?<?str.length?*?chrsz;?i+=chrsz) ????bin[i?>>?5]|=(str.charCodeAt(i?/?chrsz)?&?mask)?<<?(i?%?32); ???return?bin; ??} ??private?function?binl2b64(binarray:Array):String ??{ ???var?tab:String="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ???var?str:String=""; ???for?(var?i:int=0;?i?<?binarray.length?*?4;?i+=3) ???{ ????var?triplet:int=(((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?(var?j:int=0;?j?<?4;?j++) ????{ ?????if?(i?*?8?+?j?*?6?>?binarray.length?*?32) ??????str+=b64pad; ?????else ??????str+=tab.charAt((triplet?>>?6?*?(3?-?j))?&?0x3F); ????} ???} ???return?str; ??} ?} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |