Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.*;
- import flash.external.*;
- public class ShortExample extends Sprite {
- public function ShortExample(){
- ExternalInterface.addCallback("whatwhat", this.calc);
- ExternalInterface.call("onHasherReady");
- }
- private function calc(_arg1:string):string{
- var _local3:array;
- var _local4:string;
- var _local5:number;
- var _local2:array = _arg1.match(/.{1}|.+/g);
- _local2.sort();
- for (_local4 in _local2) {
- _local5 = 0xFF;
- if (_local4 == "X"){
- _local5 = 13;
- };
- if (_local4 == "f"){
- _local5 = 1;
- };
- if (_local4 == "3"){
- _local5 = 21;
- };
- if (_local4 == "x"){
- _local5 = 250;
- };
- if (_local4 == "lo"){
- _local5 = 0;
- };
- if (_local4 == "A"){
- _local5 = -12;
- };
- if (_local4 == "c"){
- _local5 = 130;
- };
- if (_local4 == "0xFF"){
- _local5 = (0 - 1);
- };
- };
- if (_local5 > 0x0100){
- return (GarbageMapReducer.b64_joinmerger(_local2.join("")));
- };
- return (GarbageMapReducer.hex_joinmerger(_local2.join("")));
- }
- }
- }//package
- class GarbageMapReducer {
- public static const HEX_FORMAT_LOWERCASE:uint = 0;
- public static const HEX_FORMAT_UPPERCASE:uint = 1;
- public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:string = "";
- public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:string = "=";
- public static var hexcase:uint = 0;
- public static var b64pad:string = "";
- public function GarbageMapReducer(){
- }
- public static function encrypt(_arg1:string):string{
- return (hex_joinmerger(_arg1));
- }
- public static function hex_joinmerger(_arg1:string):string{
- return (rstr2hex(rstr_joinmerger(str2rstr_utf8(_arg1))));
- }
- public static function b64_joinmerger(_arg1:string):string{
- return (rstr2b64(rstr_joinmerger(str2rstr_utf8(_arg1))));
- }
- public static function any_joinmerger(_arg1:string, _arg2:string):string{
- return (rstr2any(rstr_joinmerger(str2rstr_utf8(_arg1)), _arg2));
- }
- public static function hex_hmac_joinmerger(_arg1:string, _arg2:string):string{
- return (rstr2hex(rstr_hmac_joinmerger(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
- }
- public static function b64_hmac_joinmerger(_arg1:string, _arg2:string):string{
- return (rstr2b64(rstr_hmac_joinmerger(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
- }
- public static function any_hmac_joinmerger(_arg1:string, _arg2:string, _arg3:string):string{
- return (rstr2any(rstr_hmac_joinmerger(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3));
- }
- public static function joinmerger_vm_test():boolean{
- return ((hex_joinmerger("abc") == "900150983cd24fb0d6963f7d28e17f72"));
- }
- public static function rstr_joinmerger(_arg1:string):string{
- return (binl2rstr(binl_joinmerger(rstr2binl(_arg1), (_arg1.length * 8))));
- }
- public static function rstr_hmac_joinmerger(_arg1:string, _arg2:string):string{
- var _local3:array = rstr2binl(_arg1);
- if (_local3.length > 16){
- _local3 = binl_joinmerger(_local3, (_arg1.length * 8));
- };
- var _local4:array = new array(16);
- var _local5:array = new array(16);
- var _local6:number = 0;
- while (_local6 < 16) {
- _local4[_local6] = (_local3[_local6] ^ 0x36363636);
- _local5[_local6] = (_local3[_local6] ^ 0x5C5C5C5C);
- _local6++;
- };
- var _local7:array = binl_joinmerger(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8)));
- return (binl2rstr(binl_joinmerger(_local5.concat(_local7), (0x0200 + 128))));
- }
- public static function rstr2hex(_arg1:string):string{
- var _local4:number;
- var _local2:string = ((hexcase) ? "0123456789ABCDEF" : "0123456789abcdef");
- var _local3 = "";
- var _local5:number = 0;
- while (_local5 < _arg1.length) {
- _local4 = _arg1.charcodeat(_local5);
- _local3 = (_local3 + (_local2.charat(((_local4 >>> 4) & 15)) + _local2.charat((_local4 & 15))));
- _local5++;
- };
- return (_local3);
- }
- public static function rstr2b64(_arg1:string):string{
- var _local6:number;
- var _local7:number;
- var _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- var _local3 = "";
- var _local4:number = _arg1.length;
- var _local5:number = 0;
- while (_local5 < _local4) {
- _local6 = (((_arg1.charcodeat(_local5) << 16) | ((((_local5 + 1) < _local4)) ? (_arg1.charcodeat((_local5 + 1)) << 8) : 0)) | ((((_local5 + 2) < _local4)) ? _arg1.charcodeat((_local5 + 2)) : 0));
- _local7 = 0;
- while (_local7 < 4) {
- if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){
- _local3 = (_local3 + b64pad);
- } else {
- _local3 = (_local3 + _local2.charat(((_local6 >>> (6 * (3 - _local7))) & 63)));
- };
- _local7++;
- };
- _local5 = (_local5 + 3);
- };
- return (_local3);
- }
- public static function rstr2any(_arg1:string, _arg2:string):string{
- var _local5:number;
- var _local6:number;
- var _local7:number;
- var _local8:array;
- var _local3:number = _arg2.length;
- var _local4:array = [];
- var _local9:array = new array((_arg1.length / 2));
- _local5 = 0;
- while (_local5 < _local9.length) {
- _local9[_local5] = ((_arg1.charcodeat((_local5 * 2)) << 8) | _arg1.charcodeat(((_local5 * 2) + 1)));
- _local5++;
- };
- while (_local9.length > 0) {
- _local8 = [];
- _local7 = 0;
- _local5 = 0;
- while (_local5 < _local9.length) {
- _local7 = ((_local7 << 16) + _local9[_local5]);
- _local6 = math.floor((_local7 / _local3));
- _local7 = (_local7 - (_local6 * _local3));
- if ((((_local8.length > 0)) || ((_local6 > 0)))){
- _local8[_local8.length] = _local6;
- };
- _local5++;
- };
- _local4[_local4.length] = _local7;
- _local9 = _local8;
- };
- var _local10 = "";
- _local5 = (_local4.length - 1);
- while (_local5 >= 0) {
- _local10 = (_local10 + _arg2.charat(_local4[_local5]));
- _local5--;
- };
- return (_local10);
- }
- public static function str2rstr_utf8(_arg1:string):string{
- var _local4:number;
- var _local5:number;
- var _local2 = "";
- var _local3:number = -1;
- while (++_local3 < _arg1.length) {
- _local4 = _arg1.charcodeat(_local3);
- _local5 = ((((_local3 + 1) < _arg1.length)) ? _arg1.charcodeat((_local3 + 1)) : 0);
- if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){
- _local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023));
- _local3++;
- };
- if (_local4 <= 127){
- _local2 = (_local2 + string.fromcharcode(_local4));
- } else {
- if (_local4 <= 2047){
- _local2 = (_local2 + string.fromcharcode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63))));
- } else {
- if (_local4 <= 0xFFFF){
- _local2 = (_local2 + string.fromcharcode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
- } else {
- if (_local4 <= 2097151){
- _local2 = (_local2 + string.fromcharcode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
- };
- };
- };
- };
- };
- return (_local2);
- }
- public static function str2rstr_utf16le(_arg1:string):string{
- var _local2 = "";
- var _local3:number = 0;
- while (_local3 < _arg1.length) {
- _local2 = (_local2 + string.fromcharcode((_arg1.charcodeat(_local3) & 0xFF), ((_arg1.charcodeat(_local3) >>> 8) & 0xFF)));
- _local3++;
- };
- return (_local2);
- }
- public static function str2rstr_utf16be(_arg1:string):string{
- var _local2 = "";
- var _local3:number = 0;
- while (_local3 < _arg1.length) {
- _local2 = (_local2 + string.fromcharcode(((_arg1.charcodeat(_local3) >>> 8) & 0xFF), (_arg1.charcodeat(_local3) & 0xFF)));
- _local3++;
- };
- return (_local2);
- }
- public static function rstr2binl(_arg1:string):array{
- var _local2:array = new array((_arg1.length >> 2));
- var _local3:number = 0;
- while (_local3 < _local2.length) {
- _local2[_local3] = 0;
- _local3++;
- };
- _local3 = 0;
- while (_local3 < (_arg1.length * 8)) {
- _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | ((_arg1.charcodeat((_local3 / 8)) & 0xFF) << (_local3 % 32)));
- _local3 = (_local3 + 8);
- };
- return (_local2);
- }
- public static function binl2rstr(_arg1:array):string{
- var _local2 = "";
- var _local3:number = 0;
- while (_local3 < (_arg1.length * 32)) {
- _local2 = (_local2 + string.fromcharcode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF)));
- _local3 = (_local3 + 8);
- };
- return (_local2);
- }
- public static function binl_joinmerger(_arg1:array, _arg2:number):array{
- var _local8:number;
- var _local9:number;
- var _local10:number;
- var _local11:number;
- _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
- _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
- var _local3:number = 1732584193;
- var _local4:number = -271733879;
- var _local5:number = -1732584194;
- var _local6:number = 271733878;
- var _local7:number = 0;
- while (_local7 < _arg1.length) {
- _local8 = _local3;
- _local9 = _local4;
- _local10 = _local5;
- _local11 = _local6;
- _local3 = joinmerger_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
- _local6 = joinmerger_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
- _local5 = joinmerger_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
- _local4 = joinmerger_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
- _local3 = joinmerger_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
- _local6 = joinmerger_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
- _local5 = joinmerger_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
- _local4 = joinmerger_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
- _local3 = joinmerger_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
- _local6 = joinmerger_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
- _local5 = joinmerger_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
- _local4 = joinmerger_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
- _local3 = joinmerger_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
- _local6 = joinmerger_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
- _local5 = joinmerger_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
- _local4 = joinmerger_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
- _local3 = joinmerger_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
- _local6 = joinmerger_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
- _local5 = joinmerger_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
- _local4 = joinmerger_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
- _local3 = joinmerger_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
- _local6 = joinmerger_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
- _local5 = joinmerger_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
- _local4 = joinmerger_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
- _local3 = joinmerger_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
- _local6 = joinmerger_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
- _local5 = joinmerger_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
- _local4 = joinmerger_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
- _local3 = joinmerger_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
- _local6 = joinmerger_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
- _local5 = joinmerger_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
- _local4 = joinmerger_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
- _local3 = joinmerger_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
- _local6 = joinmerger_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
- _local5 = joinmerger_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
- _local4 = joinmerger_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
- _local3 = joinmerger_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
- _local6 = joinmerger_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
- _local5 = joinmerger_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
- _local4 = joinmerger_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
- _local3 = joinmerger_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
- _local6 = joinmerger_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
- _local5 = joinmerger_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
- _local4 = joinmerger_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
- _local3 = joinmerger_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
- _local6 = joinmerger_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
- _local5 = joinmerger_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
- _local4 = joinmerger_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
- _local3 = joinmerger_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
- _local6 = joinmerger_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
- _local5 = joinmerger_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
- _local4 = joinmerger_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
- _local3 = joinmerger_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
- _local6 = joinmerger_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
- _local5 = joinmerger_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
- _local4 = joinmerger_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
- _local3 = joinmerger_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
- _local6 = joinmerger_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
- _local5 = joinmerger_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
- _local4 = joinmerger_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
- _local3 = joinmerger_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
- _local6 = joinmerger_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
- _local5 = joinmerger_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
- _local4 = joinmerger_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
- _local3 = safe_add(_local3, _local8);
- _local4 = safe_add(_local4, _local9);
- _local5 = safe_add(_local5, _local10);
- _local6 = safe_add(_local6, _local11);
- _local7 = (_local7 + 16);
- };
- return ([_local3, _local4, _local5, _local6]);
- }
- public static function joinmerger_cmn(_arg1:number, _arg2:number, _arg3:number, _arg4:number, _arg5:number, _arg6:number):number{
- return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
- }
- public static function joinmerger_ff(_arg1:number, _arg2:number, _arg3:number, _arg4:number, _arg5:number, _arg6:number, _arg7:number):number{
- return (joinmerger_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- public static function joinmerger_gg(_arg1:number, _arg2:number, _arg3:number, _arg4:number, _arg5:number, _arg6:number, _arg7:number):number{
- return (joinmerger_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- public static function joinmerger_hh(_arg1:number, _arg2:number, _arg3:number, _arg4:number, _arg5:number, _arg6:number, _arg7:number):number{
- return (joinmerger_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- public static function joinmerger_ii(_arg1:number, _arg2:number, _arg3:number, _arg4:number, _arg5:number, _arg6:number, _arg7:number):number{
- return (joinmerger_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
- }
- public static function safe_add(_arg1:number, _arg2:number):number{
- var _local3:number = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
- var _local4:number = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
- return (((_local4 << 16) | (_local3 & 0xFFFF)));
- }
- public static function bit_rol(_arg1:number, _arg2:number):number{
- return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment