Jump to content

[REL] HMAC hash extension - secure password hashing


Orange_

Recommended Posts

HMAC

In cryptography, HMAC (Hash-based Message Authentication Code) is a specific construction for calculating a message authentication code (MAC) involving a cryptographic hash function in combination with a secret key. As with any MAC, it may be used to simultaneously verify both the data integrity and the authenticity of a message. Any cryptographic hash function, such as MD5 or SHA-1, may be used in the calculation of an HMAC; the resulting MAC algorithm is termed HMAC-MD5 or HMAC-SHA1 accordingly. The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, the size of its hash output length in bits, and on the size and quality of the cryptographic key.

Source: http://en.wikipedia.org/wiki/HMAC

How does HMAC work

751px-Shahmac.jpg

Source

So, here come my 4 hours of shouting "WHY THE FUCK DOESN'T THIS CODE WORK".

local xor_with_0x5c = { 
   [string.char(  0)] = string.char( 92),   [string.char(  1)] = string.char( 93),
   [string.char(  2)] = string.char( 94),   [string.char(  3)] = string.char( 95),
   [string.char(  4)] = string.char( 88),   [string.char(  5)] = string.char( 89),
   [string.char(  6)] = string.char( 90),   [string.char(  7)] = string.char( 91),
   [string.char(  ] = string.char( 84),   [string.char(  9)] = string.char( 85),
   [string.char( 10)] = string.char( 86),   [string.char( 11)] = string.char( 87),
   [string.char( 12)] = string.char( 80),   [string.char( 13)] = string.char( 81),
   [string.char( 14)] = string.char( 82),   [string.char( 15)] = string.char( 83),
   [string.char( 16)] = string.char( 76),   [string.char( 17)] = string.char( 77),
   [string.char( 18)] = string.char( 78),   [string.char( 19)] = string.char( 79),
   [string.char( 20)] = string.char( 72),   [string.char( 21)] = string.char( 73),
   [string.char( 22)] = string.char( 74),   [string.char( 23)] = string.char( 75),
   [string.char( 24)] = string.char( 68),   [string.char( 25)] = string.char( 69),
   [string.char( 26)] = string.char( 70),   [string.char( 27)] = string.char( 71),
   [string.char( 28)] = string.char( 64),   [string.char( 29)] = string.char( 65),
   [string.char( 30)] = string.char( 66),   [string.char( 31)] = string.char( 67),
   [string.char( 32)] = string.char(124),   [string.char( 33)] = string.char(125),
   [string.char( 34)] = string.char(126),   [string.char( 35)] = string.char(127),
   [string.char( 36)] = string.char(120),   [string.char( 37)] = string.char(121),
   [string.char( 38)] = string.char(122),   [string.char( 39)] = string.char(123),
   [string.char( 40)] = string.char(116),   [string.char( 41)] = string.char(117),
   [string.char( 42)] = string.char(118),   [string.char( 43)] = string.char(119),
   [string.char( 44)] = string.char(112),   [string.char( 45)] = string.char(113),
   [string.char( 46)] = string.char(114),   [string.char( 47)] = string.char(115),
   [string.char( 48)] = string.char(108),   [string.char( 49)] = string.char(109),
   [string.char( 50)] = string.char(110),   [string.char( 51)] = string.char(111),
   [string.char( 52)] = string.char(104),   [string.char( 53)] = string.char(105),
   [string.char( 54)] = string.char(106),   [string.char( 55)] = string.char(107),
   [string.char( 56)] = string.char(100),   [string.char( 57)] = string.char(101),
   [string.char( 58)] = string.char(102),   [string.char( 59)] = string.char(103),
   [string.char( 60)] = string.char( 96),   [string.char( 61)] = string.char( 97),
   [string.char( 62)] = string.char( 98),   [string.char( 63)] = string.char( 99),
   [string.char( 64)] = string.char( 28),   [string.char( 65)] = string.char( 29),
   [string.char( 66)] = string.char( 30),   [string.char( 67)] = string.char( 31),
   [string.char( 68)] = string.char( 24),   [string.char( 69)] = string.char( 25),
   [string.char( 70)] = string.char( 26),   [string.char( 71)] = string.char( 27),
   [string.char( 72)] = string.char( 20),   [string.char( 73)] = string.char( 21),
   [string.char( 74)] = string.char( 22),   [string.char( 75)] = string.char( 23),
   [string.char( 76)] = string.char( 16),   [string.char( 77)] = string.char( 17),
   [string.char( 78)] = string.char( 18),   [string.char( 79)] = string.char( 19),
   [string.char( 80)] = string.char( 12),   [string.char( 81)] = string.char( 13),
   [string.char( 82)] = string.char( 14),   [string.char( 83)] = string.char( 15),
   [string.char( 84)] = string.char(  ,   [string.char( 85)] = string.char(  9),
   [string.char( 86)] = string.char( 10),   [string.char( 87)] = string.char( 11),
   [string.char( 88)] = string.char(  4),   [string.char( 89)] = string.char(  5),
   [string.char( 90)] = string.char(  6),   [string.char( 91)] = string.char(  7),
   [string.char( 92)] = string.char(  0),   [string.char( 93)] = string.char(  1),
   [string.char( 94)] = string.char(  2),   [string.char( 95)] = string.char(  3),
   [string.char( 96)] = string.char( 60),   [string.char( 97)] = string.char( 61),
   [string.char( 98)] = string.char( 62),   [string.char( 99)] = string.char( 63),
   [string.char(100)] = string.char( 56),   [string.char(101)] = string.char( 57),
   [string.char(102)] = string.char( 58),   [string.char(103)] = string.char( 59),
   [string.char(104)] = string.char( 52),   [string.char(105)] = string.char( 53),
   [string.char(106)] = string.char( 54),   [string.char(107)] = string.char( 55),
   [string.char(108)] = string.char( 48),   [string.char(109)] = string.char( 49),
   [string.char(110)] = string.char( 50),   [string.char(111)] = string.char( 51),
   [string.char(112)] = string.char( 44),   [string.char(113)] = string.char( 45),
   [string.char(114)] = string.char( 46),   [string.char(115)] = string.char( 47),
   [string.char(116)] = string.char( 40),   [string.char(117)] = string.char( 41),
   [string.char(118)] = string.char( 42),   [string.char(119)] = string.char( 43),
   [string.char(120)] = string.char( 36),   [string.char(121)] = string.char( 37),
   [string.char(122)] = string.char( 38),   [string.char(123)] = string.char( 39),
   [string.char(124)] = string.char( 32),   [string.char(125)] = string.char( 33),
   [string.char(126)] = string.char( 34),   [string.char(127)] = string.char( 35),
   [string.char(128)] = string.char(220),   [string.char(129)] = string.char(221),
   [string.char(130)] = string.char(222),   [string.char(131)] = string.char(223),
   [string.char(132)] = string.char(216),   [string.char(133)] = string.char(217),
   [string.char(134)] = string.char(218),   [string.char(135)] = string.char(219),
   [string.char(136)] = string.char(212),   [string.char(137)] = string.char(213),
   [string.char(138)] = string.char(214),   [string.char(139)] = string.char(215),
   [string.char(140)] = string.char(208),   [string.char(141)] = string.char(209),
   [string.char(142)] = string.char(210),   [string.char(143)] = string.char(211),
   [string.char(144)] = string.char(204),   [string.char(145)] = string.char(205),
   [string.char(146)] = string.char(206),   [string.char(147)] = string.char(207),
   [string.char(148)] = string.char(200),   [string.char(149)] = string.char(201),
   [string.char(150)] = string.char(202),   [string.char(151)] = string.char(203),
   [string.char(152)] = string.char(196),   [string.char(153)] = string.char(197),
   [string.char(154)] = string.char(198),   [string.char(155)] = string.char(199),
   [string.char(156)] = string.char(192),   [string.char(157)] = string.char(193),
   [string.char(158)] = string.char(194),   [string.char(159)] = string.char(195),
   [string.char(160)] = string.char(252),   [string.char(161)] = string.char(253),
   [string.char(162)] = string.char(254),   [string.char(163)] = string.char(255),
   [string.char(164)] = string.char(248),   [string.char(165)] = string.char(249),
   [string.char(166)] = string.char(250),   [string.char(167)] = string.char(251),
   [string.char(168)] = string.char(244),   [string.char(169)] = string.char(245),
   [string.char(170)] = string.char(246),   [string.char(171)] = string.char(247),
   [string.char(172)] = string.char(240),   [string.char(173)] = string.char(241),
   [string.char(174)] = string.char(242),   [string.char(175)] = string.char(243),
   [string.char(176)] = string.char(236),   [string.char(177)] = string.char(237),
   [string.char(178)] = string.char(238),   [string.char(179)] = string.char(239),
   [string.char(180)] = string.char(232),   [string.char(181)] = string.char(233),
   [string.char(182)] = string.char(234),   [string.char(183)] = string.char(235),
   [string.char(184)] = string.char(228),   [string.char(185)] = string.char(229),
   [string.char(186)] = string.char(230),   [string.char(187)] = string.char(231),
   [string.char(188)] = string.char(224),   [string.char(189)] = string.char(225),
   [string.char(190)] = string.char(226),   [string.char(191)] = string.char(227),
   [string.char(192)] = string.char(156),   [string.char(193)] = string.char(157),
   [string.char(194)] = string.char(158),   [string.char(195)] = string.char(159),
   [string.char(196)] = string.char(152),   [string.char(197)] = string.char(153),
   [string.char(198)] = string.char(154),   [string.char(199)] = string.char(155),
   [string.char(200)] = string.char(148),   [string.char(201)] = string.char(149),
   [string.char(202)] = string.char(150),   [string.char(203)] = string.char(151),
   [string.char(204)] = string.char(144),   [string.char(205)] = string.char(145),
   [string.char(206)] = string.char(146),   [string.char(207)] = string.char(147),
   [string.char(208)] = string.char(140),   [string.char(209)] = string.char(141),
   [string.char(210)] = string.char(142),   [string.char(211)] = string.char(143),
   [string.char(212)] = string.char(136),   [string.char(213)] = string.char(137),
   [string.char(214)] = string.char(138),   [string.char(215)] = string.char(139),
   [string.char(216)] = string.char(132),   [string.char(217)] = string.char(133),
   [string.char(218)] = string.char(134),   [string.char(219)] = string.char(135),
   [string.char(220)] = string.char(128),   [string.char(221)] = string.char(129),
   [string.char(222)] = string.char(130),   [string.char(223)] = string.char(131),
   [string.char(224)] = string.char(188),   [string.char(225)] = string.char(189),
   [string.char(226)] = string.char(190),   [string.char(227)] = string.char(191),
   [string.char(228)] = string.char(184),   [string.char(229)] = string.char(185),
   [string.char(230)] = string.char(186),   [string.char(231)] = string.char(187),
   [string.char(232)] = string.char(180),   [string.char(233)] = string.char(181),
   [string.char(234)] = string.char(182),   [string.char(235)] = string.char(183),
   [string.char(236)] = string.char(176),   [string.char(237)] = string.char(177),
   [string.char(238)] = string.char(178),   [string.char(239)] = string.char(179),
   [string.char(240)] = string.char(172),   [string.char(241)] = string.char(173),
   [string.char(242)] = string.char(174),   [string.char(243)] = string.char(175),
   [string.char(244)] = string.char(168),   [string.char(245)] = string.char(169),
   [string.char(246)] = string.char(170),   [string.char(247)] = string.char(171),
   [string.char(248)] = string.char(164),   [string.char(249)] = string.char(165),
   [string.char(250)] = string.char(166),   [string.char(251)] = string.char(167),
   [string.char(252)] = string.char(160),   [string.char(253)] = string.char(161),
   [string.char(254)] = string.char(162),   [string.char(255)] = string.char(163),
}
 
local xor_with_0x36 = {
   [string.char(  0)] = string.char( 54),   [string.char(  1)] = string.char( 55),
   [string.char(  2)] = string.char( 52),   [string.char(  3)] = string.char( 53),
   [string.char(  4)] = string.char( 50),   [string.char(  5)] = string.char( 51),
   [string.char(  6)] = string.char( 48),   [string.char(  7)] = string.char( 49),
   [string.char(  ] = string.char( 62),   [string.char(  9)] = string.char( 63),
   [string.char( 10)] = string.char( 60),   [string.char( 11)] = string.char( 61),
   [string.char( 12)] = string.char( 58),   [string.char( 13)] = string.char( 59),
   [string.char( 14)] = string.char( 56),   [string.char( 15)] = string.char( 57),
   [string.char( 16)] = string.char( 38),   [string.char( 17)] = string.char( 39),
   [string.char( 18)] = string.char( 36),   [string.char( 19)] = string.char( 37),
   [string.char( 20)] = string.char( 34),   [string.char( 21)] = string.char( 35),
   [string.char( 22)] = string.char( 32),   [string.char( 23)] = string.char( 33),
   [string.char( 24)] = string.char( 46),   [string.char( 25)] = string.char( 47),
   [string.char( 26)] = string.char( 44),   [string.char( 27)] = string.char( 45),
   [string.char( 28)] = string.char( 42),   [string.char( 29)] = string.char( 43),
   [string.char( 30)] = string.char( 40),   [string.char( 31)] = string.char( 41),
   [string.char( 32)] = string.char( 22),   [string.char( 33)] = string.char( 23),
   [string.char( 34)] = string.char( 20),   [string.char( 35)] = string.char( 21),
   [string.char( 36)] = string.char( 18),   [string.char( 37)] = string.char( 19),
   [string.char( 38)] = string.char( 16),   [string.char( 39)] = string.char( 17),
   [string.char( 40)] = string.char( 30),   [string.char( 41)] = string.char( 31),
   [string.char( 42)] = string.char( 28),   [string.char( 43)] = string.char( 29),
   [string.char( 44)] = string.char( 26),   [string.char( 45)] = string.char( 27),
   [string.char( 46)] = string.char( 24),   [string.char( 47)] = string.char( 25),
   [string.char( 48)] = string.char(  6),   [string.char( 49)] = string.char(  7),
   [string.char( 50)] = string.char(  4),   [string.char( 51)] = string.char(  5),
   [string.char( 52)] = string.char(  2),   [string.char( 53)] = string.char(  3),
   [string.char( 54)] = string.char(  0),   [string.char( 55)] = string.char(  1),
   [string.char( 56)] = string.char( 14),   [string.char( 57)] = string.char( 15),
   [string.char( 58)] = string.char( 12),   [string.char( 59)] = string.char( 13),
   [string.char( 60)] = string.char( 10),   [string.char( 61)] = string.char( 11),
   [string.char( 62)] = string.char(  ,   [string.char( 63)] = string.char(  9),
   [string.char( 64)] = string.char(118),   [string.char( 65)] = string.char(119),
   [string.char( 66)] = string.char(116),   [string.char( 67)] = string.char(117),
   [string.char( 68)] = string.char(114),   [string.char( 69)] = string.char(115),
   [string.char( 70)] = string.char(112),   [string.char( 71)] = string.char(113),
   [string.char( 72)] = string.char(126),   [string.char( 73)] = string.char(127),
   [string.char( 74)] = string.char(124),   [string.char( 75)] = string.char(125),
   [string.char( 76)] = string.char(122),   [string.char( 77)] = string.char(123),
   [string.char( 78)] = string.char(120),   [string.char( 79)] = string.char(121),
   [string.char( 80)] = string.char(102),   [string.char( 81)] = string.char(103),
   [string.char( 82)] = string.char(100),   [string.char( 83)] = string.char(101),
   [string.char( 84)] = string.char( 98),   [string.char( 85)] = string.char( 99),
   [string.char( 86)] = string.char( 96),   [string.char( 87)] = string.char( 97),
   [string.char( 88)] = string.char(110),   [string.char( 89)] = string.char(111),
   [string.char( 90)] = string.char(108),   [string.char( 91)] = string.char(109),
   [string.char( 92)] = string.char(106),   [string.char( 93)] = string.char(107),
   [string.char( 94)] = string.char(104),   [string.char( 95)] = string.char(105),
   [string.char( 96)] = string.char( 86),   [string.char( 97)] = string.char( 87),
   [string.char( 98)] = string.char( 84),   [string.char( 99)] = string.char( 85),
   [string.char(100)] = string.char( 82),   [string.char(101)] = string.char( 83),
   [string.char(102)] = string.char( 80),   [string.char(103)] = string.char( 81),
   [string.char(104)] = string.char( 94),   [string.char(105)] = string.char( 95),
   [string.char(106)] = string.char( 92),   [string.char(107)] = string.char( 93),
   [string.char(108)] = string.char( 90),   [string.char(109)] = string.char( 91),
   [string.char(110)] = string.char( 88),   [string.char(111)] = string.char( 89),
   [string.char(112)] = string.char( 70),   [string.char(113)] = string.char( 71),
   [string.char(114)] = string.char( 68),   [string.char(115)] = string.char( 69),
   [string.char(116)] = string.char( 66),   [string.char(117)] = string.char( 67),
   [string.char(118)] = string.char( 64),   [string.char(119)] = string.char( 65),
   [string.char(120)] = string.char( 78),   [string.char(121)] = string.char( 79),
   [string.char(122)] = string.char( 76),   [string.char(123)] = string.char( 77),
   [string.char(124)] = string.char( 74),   [string.char(125)] = string.char( 75),
   [string.char(126)] = string.char( 72),   [string.char(127)] = string.char( 73),
   [string.char(128)] = string.char(182),   [string.char(129)] = string.char(183),
   [string.char(130)] = string.char(180),   [string.char(131)] = string.char(181),
   [string.char(132)] = string.char(178),   [string.char(133)] = string.char(179),
   [string.char(134)] = string.char(176),   [string.char(135)] = string.char(177),
   [string.char(136)] = string.char(190),   [string.char(137)] = string.char(191),
   [string.char(138)] = string.char(188),   [string.char(139)] = string.char(189),
   [string.char(140)] = string.char(186),   [string.char(141)] = string.char(187),
   [string.char(142)] = string.char(184),   [string.char(143)] = string.char(185),
   [string.char(144)] = string.char(166),   [string.char(145)] = string.char(167),
   [string.char(146)] = string.char(164),   [string.char(147)] = string.char(165),
   [string.char(148)] = string.char(162),   [string.char(149)] = string.char(163),
   [string.char(150)] = string.char(160),   [string.char(151)] = string.char(161),
   [string.char(152)] = string.char(174),   [string.char(153)] = string.char(175),
   [string.char(154)] = string.char(172),   [string.char(155)] = string.char(173),
   [string.char(156)] = string.char(170),   [string.char(157)] = string.char(171),
   [string.char(158)] = string.char(168),   [string.char(159)] = string.char(169),
   [string.char(160)] = string.char(150),   [string.char(161)] = string.char(151),
   [string.char(162)] = string.char(148),   [string.char(163)] = string.char(149),
   [string.char(164)] = string.char(146),   [string.char(165)] = string.char(147),
   [string.char(166)] = string.char(144),   [string.char(167)] = string.char(145),
   [string.char(168)] = string.char(158),   [string.char(169)] = string.char(159),
   [string.char(170)] = string.char(156),   [string.char(171)] = string.char(157),
   [string.char(172)] = string.char(154),   [string.char(173)] = string.char(155),
   [string.char(174)] = string.char(152),   [string.char(175)] = string.char(153),
   [string.char(176)] = string.char(134),   [string.char(177)] = string.char(135),
   [string.char(178)] = string.char(132),   [string.char(179)] = string.char(133),
   [string.char(180)] = string.char(130),   [string.char(181)] = string.char(131),
   [string.char(182)] = string.char(128),   [string.char(183)] = string.char(129),
   [string.char(184)] = string.char(142),   [string.char(185)] = string.char(143),
   [string.char(186)] = string.char(140),   [string.char(187)] = string.char(141),
   [string.char(188)] = string.char(138),   [string.char(189)] = string.char(139),
   [string.char(190)] = string.char(136),   [string.char(191)] = string.char(137),
   [string.char(192)] = string.char(246),   [string.char(193)] = string.char(247),
   [string.char(194)] = string.char(244),   [string.char(195)] = string.char(245),
   [string.char(196)] = string.char(242),   [string.char(197)] = string.char(243),
   [string.char(198)] = string.char(240),   [string.char(199)] = string.char(241),
   [string.char(200)] = string.char(254),   [string.char(201)] = string.char(255),
   [string.char(202)] = string.char(252),   [string.char(203)] = string.char(253),
   [string.char(204)] = string.char(250),   [string.char(205)] = string.char(251),
   [string.char(206)] = string.char(248),   [string.char(207)] = string.char(249),
   [string.char(208)] = string.char(230),   [string.char(209)] = string.char(231),
   [string.char(210)] = string.char(228),   [string.char(211)] = string.char(229),
   [string.char(212)] = string.char(226),   [string.char(213)] = string.char(227),
   [string.char(214)] = string.char(224),   [string.char(215)] = string.char(225),
   [string.char(216)] = string.char(238),   [string.char(217)] = string.char(239),
   [string.char(218)] = string.char(236),   [string.char(219)] = string.char(237),
   [string.char(220)] = string.char(234),   [string.char(221)] = string.char(235),
   [string.char(222)] = string.char(232),   [string.char(223)] = string.char(233),
   [string.char(224)] = string.char(214),   [string.char(225)] = string.char(215),
   [string.char(226)] = string.char(212),   [string.char(227)] = string.char(213),
   [string.char(228)] = string.char(210),   [string.char(229)] = string.char(211),
   [string.char(230)] = string.char(208),   [string.char(231)] = string.char(209),
   [string.char(232)] = string.char(222),   [string.char(233)] = string.char(223),
   [string.char(234)] = string.char(220),   [string.char(235)] = string.char(221),
   [string.char(236)] = string.char(218),   [string.char(237)] = string.char(219),
   [string.char(238)] = string.char(216),   [string.char(239)] = string.char(217),
Link to comment
Very useful, but the most of people from here doesn't know for what is that.

I don't think that it will be popular.

None of my releases, even on my previous account, were ready-to-use. This one is basically for integration with websites which use HMAC for hashing passwords.

Link to comment

  
local char = string.char
local xor_with_0x5c = {
   [char(  0)] = char( 92),   [char(  1)] = char( 93),
   [char(  2)] = char( 94),   [char(  3)] = char( 95),
   [char(  4)] = char( 88),   [char(  5)] = char( 89),
   [char(  6)] = char( 90),   [char(  7)] = char( 91),
   [char(  8 )] = char( 84),   [char(  9)] = char( 85),
   [char( 10)] = char( 86),   [char( 11)] = char( 87),
   [char( 12)] = char( 80),   [char( 13)] = char( 81),
   [char( 14)] = char( 82),   [char( 15)] = char( 83),
   [char( 16)] = char( 76),   [char( 17)] = char( 77),
   [char( 18)] = char( 78),   [char( 19)] = char( 79),
   [char( 20)] = char( 72),   [char( 21)] = char( 73),
   [char( 22)] = char( 74),   [char( 23)] = char( 75),
   [char( 24)] = char( 68),   [char( 25)] = char( 69),
   [char( 26)] = char( 70),   [char( 27)] = char( 71),
   [char( 28)] = char( 64),   [char( 29)] = char( 65),
   [char( 30)] = char( 66),   [char( 31)] = char( 67),
   [char( 32)] = char(124),   [char( 33)] = char(125),
   [char( 34)] = char(126),   [char( 35)] = char(127),
   [char( 36)] = char(120),   [char( 37)] = char(121),
   [char( 38)] = char(122),   [char( 39)] = char(123),
   [char( 40)] = char(116),   [char( 41)] = char(117),
   [char( 42)] = char(118),   [char( 43)] = char(119),
   [char( 44)] = char(112),   [char( 45)] = char(113),
   [char( 46)] = char(114),   [char( 47)] = char(115),
   [char( 48)] = char(108),   [char( 49)] = char(109),
   [char( 50)] = char(110),   [char( 51)] = char(111),
   [char( 52)] = char(104),   [char( 53)] = char(105),
   [char( 54)] = char(106),   [char( 55)] = char(107),
   [char( 56)] = char(100),   [char( 57)] = char(101),
   [char( 58)] = char(102),   [char( 59)] = char(103),
   [char( 60)] = char( 96),   [char( 61)] = char( 97),
   [char( 62)] = char( 98),   [char( 63)] = char( 99),
   [char( 64)] = char( 28),   [char( 65)] = char( 29),
   [char( 66)] = char( 30),   [char( 67)] = char( 31),
   [char( 68)] = char( 24),   [char( 69)] = char( 25),
   [char( 70)] = char( 26),   [char( 71)] = char( 27),
   [char( 72)] = char( 20),   [char( 73)] = char( 21),
   [char( 74)] = char( 22),   [char( 75)] = char( 23),
   [char( 76)] = char( 16),   [char( 77)] = char( 17),
   [char( 78)] = char( 18),   [char( 79)] = char( 19),
   [char( 80)] = char( 12),   [char( 81)] = char( 13),
   [char( 82)] = char( 14),   [char( 83)] = char( 15),
   [char( 84)] = char(  8 ),   [char( 85)] = char(  9),
   [char( 86)] = char( 10),   [char( 87)] = char( 11),
   [char( 88)] = char(  4),   [char( 89)] = char(  5),
   [char( 90)] = char(  6),   [char( 91)] = char(  7),
   [char( 92)] = char(  0),   [char( 93)] = char(  1),
   [char( 94)] = char(  2),   [char( 95)] = char(  3),
   [char( 96)] = char( 60),   [char( 97)] = char( 61),
   [char( 98)] = char( 62),   [char( 99)] = char( 63),
   [char(100)] = char( 56),   [char(101)] = char( 57),
   [char(102)] = char( 58),   [char(103)] = char( 59),
   [char(104)] = char( 52),   [char(105)] = char( 53),
   [char(106)] = char( 54),   [char(107)] = char( 55),
   [char(108)] = char( 48),   [char(109)] = char( 49),
   [char(110)] = char( 50),   [char(111)] = char( 51),
   [char(112)] = char( 44),   [char(113)] = char( 45),
   [char(114)] = char( 46),   [char(115)] = char( 47),
   [char(116)] = char( 40),   [char(117)] = char( 41),
   [char(118)] = char( 42),   [char(119)] = char( 43),
   [char(120)] = char( 36),   [char(121)] = char( 37),
   [char(122)] = char( 38),   [char(123)] = char( 39),
   [char(124)] = char( 32),   [char(125)] = char( 33),
   [char(126)] = char( 34),   [char(127)] = char( 35),
   [char(128)] = char(220),   [char(129)] = char(221),
   [char(130)] = char(222),   [char(131)] = char(223),
   [char(132)] = char(216),   [char(133)] = char(217),
   [char(134)] = char(218),   [char(135)] = char(219),
   [char(136)] = char(212),   [char(137)] = char(213),
   [char(138)] = char(214),   [char(139)] = char(215),
   [char(140)] = char(208),   [char(141)] = char(209),
   [char(142)] = char(210),   [char(143)] = char(211),
   [char(144)] = char(204),   [char(145)] = char(205),
   [char(146)] = char(206),   [char(147)] = char(207),
   [char(148)] = char(200),   [char(149)] = char(201),
   [char(150)] = char(202),   [char(151)] = char(203),
   [char(152)] = char(196),   [char(153)] = char(197),
   [char(154)] = char(198),   [char(155)] = char(199),
   [char(156)] = char(192),   [char(157)] = char(193),
   [char(158)] = char(194),   [char(159)] = char(195),
   [char(160)] = char(252),   [char(161)] = char(253),
   [char(162)] = char(254),   [char(163)] = char(255),
   [char(164)] = char(248),   [char(165)] = char(249),
   [char(166)] = char(250),   [char(167)] = char(251),
   [char(168)] = char(244),   [char(169)] = char(245),
   [char(170)] = char(246),   [char(171)] = char(247),
   [char(172)] = char(240),   [char(173)] = char(241),
   [char(174)] = char(242),   [char(175)] = char(243),
   [char(176)] = char(236),   [char(177)] = char(237),
   [char(178)] = char(238),   [char(179)] = char(239),
   [char(180)] = char(232),   [char(181)] = char(233),
   [char(182)] = char(234),   [char(183)] = char(235),
   [char(184)] = char(228),   [char(185)] = char(229),
   [char(186)] = char(230),   [char(187)] = char(231),
   [char(188)] = char(224),   [char(189)] = char(225),
   [char(190)] = char(226),   [char(191)] = char(227),
   [char(192)] = char(156),   [char(193)] = char(157),
   [char(194)] = char(158),   [char(195)] = char(159),
   [char(196)] = char(152),   [char(197)] = char(153),
   [char(198)] = char(154),   [char(199)] = char(155),
   [char(200)] = char(148),   [char(201)] = char(149),
   [char(202)] = char(150),   [char(203)] = char(151),
   [char(204)] = char(144),   [char(205)] = char(145),
   [char(206)] = char(146),   [char(207)] = char(147),
   [char(208)] = char(140),   [char(209)] = char(141),
   [char(210)] = char(142),   [char(211)] = char(143),
   [char(212)] = char(136),   [char(213)] = char(137),
   [char(214)] = char(138),   [char(215)] = char(139),
   [char(216)] = char(132),   [char(217)] = char(133),
   [char(218)] = char(134),   [char(219)] = char(135),
   [char(220)] = char(128),   [char(221)] = char(129),
   [char(222)] = char(130),   [char(223)] = char(131),
   [char(224)] = char(188),   [char(225)] = char(189),
   [char(226)] = char(190),   [char(227)] = char(191),
   [char(228)] = char(184),   [char(229)] = char(185),
   [char(230)] = char(186),   [char(231)] = char(187),
   [char(232)] = char(180),   [char(233)] = char(181),
   [char(234)] = char(182),   [char(235)] = char(183),
   [char(236)] = char(176),   [char(237)] = char(177),
   [char(238)] = char(178),   [char(239)] = char(179),
   [char(240)] = char(172),   [char(241)] = char(173),
   [char(242)] = char(174),   [char(243)] = char(175),
   [char(244)] = char(168),   [char(245)] = char(169),
   [char(246)] = char(170),   [char(247)] = char(171),
   [char(248)] = char(164),   [char(249)] = char(165),
   [char(250)] = char(166),   [char(251)] = char(167),
   [char(252)] = char(160),   [char(253)] = char(161),
   [char(254)] = char(162),   [char(255)] = char(163),
}
 
local xor_with_0x36 = {
   [char(  0)] = char( 54),   [char(  1)] = char( 55),
   [char(  2)] = char( 52),   [char(  3)] = char( 53),
   [char(  4)] = char( 50),   [char(  5)] = char( 51),
   [char(  6)] = char( 48),   [char(  7)] = char( 49),
   [char(  8 )] = char( 62),   [char(  9)] = char( 63),
   [char( 10)] = char( 60),   [char( 11)] = char( 61),
   [char( 12)] = char( 58),   [char( 13)] = char( 59),
   [char( 14)] = char( 56),   [char( 15)] = char( 57),
   [char( 16)] = char( 38),   [char( 17)] = char( 39),
   [char( 18)] = char( 36),   [char( 19)] = char( 37),
   [char( 20)] = char( 34),   [char( 21)] = char( 35),
   [char( 22)] = char( 32),   [char( 23)] = char( 33),
   [char( 24)] = char( 46),   [char( 25)] = char( 47),
   [char( 26)] = char( 44),   [char( 27)] = char( 45),
   [char( 28)] = char( 42),   [char( 29)] = char( 43),
   [char( 30)] = char( 40),   [char( 31)] = char( 41),
   [char( 32)] = char( 22),   [char( 33)] = char( 23),
   [char( 34)] = char( 20),   [char( 35)] = char( 21),
   [char( 36)] = char( 18),   [char( 37)] = char( 19),
   [char( 38)] = char( 16),   [char( 39)] = char( 17),
   [char( 40)] = char( 30),   [char( 41)] = char( 31),
   [char( 42)] = char( 28),   [char( 43)] = char( 29),
   [char( 44)] = char( 26),   [char( 45)] = char( 27),
   [char( 46)] = char( 24),   [char( 47)] = char( 25),
   [char( 48)] = char(  6),   [char( 49)] = char(  7),
   [char( 50)] = char(  4),   [char( 51)] = char(  5),
   [char( 52)] = char(  2),   [char( 53)] = char(  3),
   [char( 54)] = char(  0),   [char( 55)] = char(  1),
   [char( 56)] = char( 14),   [char( 57)] = char( 15),
   [char( 58)] = char( 12),   [char( 59)] = char( 13),
   [char( 60)] = char( 10),   [char( 61)] = char( 11),
   [char( 62)] = char( 8 ),   [char( 63)] = char(  9),
   [char( 64)] = char(118),   [char( 65)] = char(119),
   [char( 66)] = char(116),   [char( 67)] = char(117),
   [char( 68)] = char(114),   [char( 69)] = char(115),
   [char( 70)] = char(112),   [char( 71)] = char(113),
   [char( 72)] = char(126),   [char( 73)] = char(127),
   [char( 74)] = char(124),   [char( 75)] = char(125),
   [char( 76)] = char(122),   [char( 77)] = char(123),
   [char( 78)] = char(120),   [char( 79)] = char(121),
   [char( 80)] = char(102),   [char( 81)] = char(103),
   [char( 82)] = char(100),   [char( 83)] = char(101),
   [char( 84)] = char( 98),   [char( 85)] = char( 99),
   [char( 86)] = char( 96),   [char( 87)] = char( 97),
   [char( 88)] = char(110),   [char( 89)] = char(111),
   [char( 90)] = char(108),   [char( 91)] = char(109),
   [char( 92)] = char(106),   [char( 93)] = char(107),
   [char( 94)] = char(104),   [char( 95)] = char(105),
   [char( 96)] = char( 86),   [char( 97)] = char( 87),
   [char( 98)] = char( 84),   [char( 99)] = char( 85),
   [char(100)] = char( 82),   [char(101)] = char( 83),
   [char(102)] = char( 80),   [char(103)] = char( 81),
   [char(104)] = char( 94),   [char(105)] = char( 95),
   [char(106)] = char( 92),   [char(107)] = char( 93),
   [char(108)] = char( 90),   [char(109)] = char( 91),
   [char(110)] = char( 88),   [char(111)] = char( 89),
   [char(112)] = char( 70),   [char(113)] = char( 71),
   [char(114)] = char( 68),   [char(115)] = char( 69),
   [char(116)] = char( 66),   [char(117)] = char( 67),
   [char(118)] = char( 64),   [char(119)] = char( 65),
   [char(120)] = char( 78),   [char(121)] = char( 79),
   [char(122)] = char( 76),   [char(123)] = char( 77),
   [char(124)] = char( 74),   [char(125)] = char( 75),
   [char(126)] = char( 72),   [char(127)] = char( 73),
   [char(128)] = char(182),   [char(129)] = char(183),
   [char(130)] = char(180),   [char(131)] = char(181),
   [char(132)] = char(178),   [char(133)] = char(179),
   [char(134)] = char(176),   [char(135)] = char(177),
   [char(136)] = char(190),   [char(137)] = char(191),
   [char(138)] = char(188),   [char(139)] = char(189),
   [char(140)] = char(186),   [char(141)] = char(187),
   [char(142)] = char(184),   [char(143)] = char(185),
   [char(144)] = char(166),   [char(145)] = char(167),
   [char(146)] = char(164),   [char(147)] = char(165),
   [char(148)] = char(162),   [char(149)] = char(163),
   [char(150)] = char(160),   [char(151)] = char(161),
   [char(152)] = char(174),   [char(153)] = char(175),
   [char(154)] = char(172),   [char(155)] = char(173),
   [char(156)] = char(170),   [char(157)] = char(171),
   [char(158)] = char(168),   [char(159)] = char(169),
   [char(160)] = char(150),   [char(161)] = char(151),
   [char(162)] = char(148),   [char(163)] = char(149),
   [char(164)] = char(146),   [char(165)] = char(147),
   [char(166)] = char(144),   [char(167)] = char(145),
   [char(168)] = char(158),   [char(169)] = char(159),
   [char(170)] = char(156),   [char(171)] = char(157),
   [char(172)] = char(154),   [char(173)] = char(155),
   [char(174)] = char(152),   [char(175)] = char(153),
   [char(176)] = char(134),   [char(177)] = char(135),
   [char(178)] = char(132),   [char(179)] = char(133),
   [char(180)] = char(130),   [char(181)] = char(131),
   [char(182)] = char(128),   [char(183)] = char(129),
   [char(184)] = char(142),   [char(185)] = char(143),
   [char(186)] = char(140),   [char(187)] = char(141),
   [char(188)] = char(138),   [char(189)] = char(139),
   [char(190)] = char(136),   [char(191)] = char(137),
   [char(192)] = char(246),   [char(193)] = char(247),
   [char(194)] = char(244),   [char(195)] = char(245),
   [char(196)] = char(242),   [char(197)] = char(243),
   [char(198)] = char(240),   [char(199)] = char(241),
   [char(200)] = char(254),   [char(201)] = char(255),
   [char(202)] = char(252),   [char(203)] = char(253),
   [char(204)] = char(250),   [char(205)] = char(251),
   [char(206)] = char(248),   [char(207)] = char(249),
   [char(208)] = char(230),   [char(209)] = char(231),
   [char(210)] = char(228),   [char(211)] = char(229),
   [char(212)] = char(226),   [char(213)] = char(227),
   [char(214)] = char(224),   [char(215)] = char(225),
   [char(216)] = char(238),   [char(217)] = char(239),
   [char(218)] = char(236),   [char(219)] = char(237),
   [char(220)] = char(234),   [char(221)] = char(235),
   [char(222)] = char(232),   [char(223)] = char(233),
   [char(224)] = char(214),   [char(225)] = char(215),
   [char(226)] = char(212),   [char(227)] = char(213),
   [char(228)] = char(210),   [char(229)] = char(211),
   [char(230)] = char(208),   [char(231)] = char(209),
   [char(232)] = char(222),   [char(233)] = char(223),
   [char(234)] = char(220),   [char(235)] = char(221),
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...