Exemple #1
0
def set_up():
    randomStride = random.randint(1, 20)
    coder = CaesarCoder(randomStride)
    response = requests.get(
        'http://swquotesapi.digitaljedi.dk/api/SWQuote/RandomStarWarsQuote',
        verify=False)
    return [coder, response.json()["content"], randomStride]
def test_caesar_encoding():
    coder = CaesarCoder(2)
    testString = "lukaszstachnik"
    assert coder.encode(testString) == "nwmcubuvcejpkm"
    testString = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"
    assert coder.encode(testString) == "nqtgo kruwo ku ukorna fwooa vgzv qh vjg rtkpvkpi cpf vargugvvkpi kpfwuvta. nqtgo kruwo jcu dggp vjg kpfwuvta'u uvcpfctf fwooa vgzv gxgt ukpeg vjg 1500u"
    coder = CaesarCoder(3)
    testString = "lamdbanosa asdasdsa karma SKOSDASDA"
    assert coder.encode(testString) == "odpgedqrvd dvgdvgvd ndupd vnrvgdvgd"
Exemple #3
0
def getTheLowestEntropy(inputStr: str):
    result = 5000
    resultStride = 0
    entropiesList = getAllEntropies(inputStr)
    for i in range(len(entropiesList)):
        if (entropiesList[i][1] < result):
            result = entropiesList[i][1]
            resultStride = entropiesList[i][0]
    coder = CaesarCoder(resultStride)
    print(f"Best guess 🤖: {result}")
    print(f"Decoded string: {coder.decode(inputStr)}")
Exemple #4
0
def maunal_caesar_cracking():
    dataSetup = set_up()
    encodedString = dataSetup[0].encode(dataSetup[1])
    decodedString = dataSetup[0].decode(encodedString)
    guessesNumber = 0
    codeCracked = False

    print("Encoded string ❌: " + encodedString)
    while codeCracked == False:
        print('Type in stride number for decoding: ')
        num = input("Stride: ")
        if (int(num) == dataSetup[2]):
            print("That's good stride. Decoded string is ✅: " + decodedString)
            print(f"You've cracked the code after {guessesNumber} guesses")
            codeCracked = True
        else:
            coder = CaesarCoder(int(num))
            print(
                "That's not good stide. Try once more. Decoded string is ❌: " +
                coder.decode(encodedString))
            guessesNumber += 1
def decode(stride, text):
    coder = CaesarCoder(stride)
    click.echo(coder.decode(text))
Exemple #6
0
def getAllEntropies(inputStr: str):
    result = []
    for i in range(26):
        coder = CaesarCoder(i)
        result.append([i, getEntropy(coder.decode(inputStr))])
    return result
def test_stridDown():
    coder = CaesarCoder(2)
    assert coder.strideDown('a') == 'y'
    assert coder.strideDown('l') == 'j'
    assert coder.strideDown(' ') == ' '
def test_stridUp():
    coder = CaesarCoder(2)
    assert coder.strideUp('z') == 'b'
    assert coder.strideUp('a') == 'c'
    assert coder.strideUp(' ') == ' '