From 34a5590ed1b174f874f2b8b11857be4f2ec7a844 Mon Sep 17 00:00:00 2001 From: Jethro Stapelbroek Date: Mon, 3 Jul 2023 21:19:52 +0200 Subject: [PATCH] DRM Messages --- drmmessages.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 drmmessages.py diff --git a/drmmessages.py b/drmmessages.py new file mode 100644 index 0000000..fc232a0 --- /dev/null +++ b/drmmessages.py @@ -0,0 +1,23 @@ +def sumOfValuesOfCharacters(s: str) -> int: + return sum([ord(c) - 65 for c in s]) + + +def rotateString(s: str, r: int) -> str: + return "".join([chr(((ord(c) - 65 + r) % 26) + 65) for c in s]) + + +def mergeStrings(a: str, b: str) -> str: + return "".join( + [rotateString(ca, sumOfValuesOfCharacters(cb)) for ca, cb in zip(a, b)] + ) + + +def decrypt(drmmessage): + half = len(drmmessage) // 2 + a, b = drmmessage[:half], drmmessage[half:] + rota = rotateString(a, sumOfValuesOfCharacters(a)) + rotb = rotateString(b, sumOfValuesOfCharacters(b)) + return mergeStrings(rota, rotb) + + +print(decrypt(input()))