JSFiddle - React, Tailwind, and code Playground

by dievardump

JavaScript

/*

    string public constant encrypted = "15b6e0bb28c9a44f60513a909a35bca8df31a05b71eeb5b2220facb1c4c4d89c";

    function encrypter(uint8 a_, uint8 b_, bytes calldata plainText_) public pure returns (bytes memory) {
        bytes memory cipherText = new bytes(plainText_.length);
        for (uint i = 0; i < plainText_.length; i++) {
            uint16 x = ((a_ * (uint8(plainText_[i]) >> 4)) + b_) % 16;
            uint16 y = ((a_ * (uint8(plainText_[i]) << 4 >> 4)) + b_) % 16;
            cipherText[i] =  bytes1(uint8(x << 4 | y));
        }
        return bytes(cipherText);
    }
    */
    
function encrypter(a, b, number) {
	const x = (a * (number >> 4) + b) % 16;
  const y = (a * number << 4 >> 4) + b) % 16;
  return (x << 4 | y);
}

for(let a = 0; a < 256; a++) {
  for(let b = 0; b < 256; b++) {
  	const results = {};
		for(let i = 32; i < 126; i++) {
     	const result = encrypter(a, b, i);
      results[result] = results[result] || [];
      results[result].push(String.fromCharCode(i));
    }
    
    console.log(results[0x15]);
  }
}