From cdf958d29333d448f4521f4d2faa2592b58e9b27 Mon Sep 17 00:00:00 2001 From: lolcat Date: Sun, 10 Aug 2025 21:55:15 -0400 Subject: fix wikipedia crash --- oracles/encoder.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 oracles/encoder.php (limited to 'oracles/encoder.php') diff --git a/oracles/encoder.php b/oracles/encoder.php new file mode 100644 index 0000000..00b5ad0 --- /dev/null +++ b/oracles/encoder.php @@ -0,0 +1,40 @@ + "text encoder/hasher" + ]; + private $special_types = [ + "rot13", + "base64" + ]; + public function check_query($q) { + $types = array_merge($this->special_types, hash_algos()); + foreach ($types as $type) { + $type .= " "; + if (str_starts_with($q, $type)) { + return true; + } + } + return false; + } + public function generate_response($q) + { + $type = explode(" ", $q)[0]; + $victim = substr($q, strlen($type)+1); + if (in_array($type, hash_algos())) { + return [$type." hash" => hash($type, $victim)]; + } + switch ($type) { + case "rot13": + return ["rot13 encoded" => str_rot13($victim)]; + case "base64": + return [ + "base64 encoded" => base64_encode($victim), + "base64 decoded" => base64_decode($victim) + ]; + } + return ""; + } +} +?> \ No newline at end of file -- cgit v1.2.3