You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Scripted/WEB/View/src/JS/CesarDecrypt.js

41 lines
1.0 KiB

//~ Function that test the user code
async function submit(){
var test = editor.getValue()+`\n
def DecryptVerif(text, key):
result = ""
for i in range(len(text)):
char = text[i]
if(char==" "):
result+=" "
elif (char.isupper()):
result += chr((ord(char) - key-65) % 26 + 65)
else:
result += chr((ord(char) - key - 97) % 26 + 97)
return result
import random as r
def testDecrypte(x):
Decrypt("",1)
if(Decrypt("Jgnnq yqtnf",2)!="Hello world"):
return False
if(Decrypt("Blarycnm",9)!="Scripted"):
return False
for i in range(x):
l=""
cle=r.randint(1,26)
for i in range(r.randint(1,10)):
l+=chr(r.randint(97,122))
if(Decrypt(l,cle)!=DecryptVerif(l,cle)):
return False
return True
print(testDecrypte(5))
`;
exec("print ('True')", "code");
exec(test, "solution");
result.innerHTML = "Test en cours...";
await new Promise(r => setTimeout(r, 1500));
check();
}