加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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=
而不是我想要的 4QrcOUm6Wau+VuBX8g+IPg==

于是把以前用的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;
??}
?}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读