I created a key extraction challenge using this method. Maybe it can be solved?
Code:
bool check(const std::string& key) {
uint64_t b = 0;
for(size_t i = 0; i < key.length(); ++i) {
uint64_t a = 0;
for(size_t j = 0; j < key.length(); ++j) {
uint64_t d=uint64_t(key[j]);
a += uint64_t(key[j]) << (i * j);
}
b += (a % 127) << (i * 8);
}
return (b == 0x000b762957335657);
}
I don't think shifting in the opposite direction will work though @evlncrn8