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]);
}
}