6
3
This is the cops' post. The robbers' is here.
You make a program and a regex.
For most inputs, one of the following happens:
- the regex doesn't match, and the program returns a falsey value
- the regex doesn't match, and the program returns a truthy value
- the regex matches, and the program returns a truthy value
But for one (or more) input, the regex matches, but the program returns a falsy value.
You should try to keep this input hidden. Robbers will try to find an input where the regex matches, but the program returns a falsy value.
Post your program and your regex, as well as your language name, byte count of the program, regex flavor, and byte count of the regex.
If a robber finds an input where the regex matches, but the program returns a falsy value, even if it wasn't the intended input your program is considered cracked, and you edit in a link to the robber's crack.
If nobody has cracked your program & regex after a week, then edit in that your submission is safe and is therefore not eligible for cracking. Also edit in the intended input. The shortest (program bytes + regex bytes) non-cracked submission wins.
Example
Let's say your regex is (all of the flavors):
/^[0-9]$/
And your program is (JS):
x=>Boolean(parseInt(x))
Then a valid crack would be 0
, because the regex matches 0
but 0
is falsey.
Delimiters don't count in the byte count.
I can't enforce the banning of hash functions with rules, but please don't use SHA/RSA or anything that is unfair to the robbers
2Are cryptographic hash functions allowed? I can imagine regex
(..)+
and programprint hash(input)==...
– fireflame241 – 2017-08-29T01:21:06.7031@fireflame241 see edits – programmer5000 – 2017-08-29T12:39:00.117