Skip to content

CesarCipher

esse modulo contem as funções para encriptar e decriptar o texto usando Cifra de Cesar.

CesarCipher(text, key, mode, space=False)

Encripta ou decripta o texto usando a chave de encriptação.

Parameters:

Name Type Description Default
text str

o texto a ser encriptado ou decriptado.

required
key int

a chave de encriptação.

required
mode str

o modo de encriptação ou decriptação.

required

Examples:

>>> CesarCipher('thequickbrownfoxjumpsoverthelazydog',3,'e')
'wkhtxlfneurzqiramxpsvryhuwkhodcbgrj'
>>> CesarCipher('wkhtxlfneurzqiramxpsvryhuwkhodcbgrj',3,'d')
'thequickbrownfoxjumpsoverthelazydog'
Source code in bill_cipher_cli/CesarCipher.py
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
def CesarCipher(text: str, key: int, mode: str, space: bool = False):
    """
    Encripta ou decripta o texto usando a chave de encriptação.

    Parameters:
        text: o texto a ser encriptado ou decriptado.
        key: a chave de encriptação.
        mode: o modo de encriptação ou decriptação.

    Examples:
        >>> CesarCipher('thequickbrownfoxjumpsoverthelazydog',3,'e')
        'wkhtxlfneurzqiramxpsvryhuwkhodcbgrj'

        >>> CesarCipher('wkhtxlfneurzqiramxpsvryhuwkhodcbgrj',3,'d')
        'thequickbrownfoxjumpsoverthelazydog'
    """
    match mode:
        case "e":
            return encryption(text, key, space)
        case "d":
            return decryption(text, key)
        case _:
            raise ValueError("Mode must be e or d")

decryption(text, key)

Decripta o texto usando a chave de decriptação.

Parameters:

Name Type Description Default
text str

o texto a ser decriptado.

required
key int

a chave de decriptação.

required

Examples:

>>> decryption('wkhtxlfneurzqiramxpsvryhuwkhodcbgrj',3)
'thequickbrownfoxjumpsoverthelazydog'
Source code in bill_cipher_cli/CesarCipher.py
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
def decryption(text: str, key: int):
    """
    Decripta o texto usando a chave de decriptação.

    Parameters:
        text: o texto a ser decriptado.
        key: a chave de decriptação.


    Examples:
        >>> decryption('wkhtxlfneurzqiramxpsvryhuwkhodcbgrj',3)
        'thequickbrownfoxjumpsoverthelazydog'
    """
    textDecypt = ""
    for letter in text:
        if letter == " ":
            textDecypt += " "
            continue
        if letter == "\n":
            textDecypt += "\n"
            continue
        ind = alfbet.index(letter)
        ind = (ind - key) % 26
        textDecypt += alfbet[ind]
    return textDecypt

encryption(text, key, space=False)

Encripta o texto usando a chave de encriptação.

Parameters:

Name Type Description Default
text str

o texto a ser encriptado.

required
key int

a chave de encriptação.

required
space bool

se True, mantem os espaços.

False

Examples:

>>> encryption('thequickbrownfoxjumpsoverthelazydog',3)
'wkhtxlfneurzqiramxpsvryhuwkhodcbgrj'
Source code in bill_cipher_cli/CesarCipher.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def encryption(text: str, key: int, space: bool = False):
    """
    Encripta o texto usando a chave de encriptação.

    Parameters:
        text: o texto a ser encriptado.
        key: a chave de encriptação.
        space: se True, mantem os espaços.


    Examples:
        >>> encryption('thequickbrownfoxjumpsoverthelazydog',3)
        'wkhtxlfneurzqiramxpsvryhuwkhodcbgrj'
    """
    text = coretion(text, space)
    textEnctypt = ""
    for letter in text:
        if letter == " ":
            textEnctypt += " "
            continue
        if letter == "\n":
            textEnctypt += "\n"
            continue
        ind = alfbet.index(letter)
        ind = (ind + key) % 26
        textEnctypt += alfbet[ind]
    return textEnctypt