Beispiel #1
0
def Des(str, key, mode):
    if mode == 0:  #加密
        text = str
        length = len(text)
        if length % 4 > 0:
            text = text + (4 - (length % 4)) * " "
            length = len(text)
        finalRes = ""
        for i in range(int(length / 4)):
            tempText = [text[j] for j in range(i * 4, i * 4 + 4)]
            finalRes = finalRes + DES.Des(tempText, key)
        #print(finalRes)
        return finalRes

    elif mode == 1:  #解密
        text = str
        length = len(text)
        finalRes = ""
        for i in range(int(length / 16)):
            tempText = text[i * 16:i * 16 + 16]
            finalRes = finalRes + DES.DeDes(tempText, key)
        #print(finalRes)
        return finalRes
    else:  #错误调用
        return None
Beispiel #2
0
def main():
    my_des = DES.Des()
    user_dialog = User_Dialog.UserDialog()

    # encrypt_decrypt = user_dialog.encrypt_or_decrypt()
    message = user_dialog.get_input_message(1)
    key = user_dialog.get_input_key()
    # where_print_result = user_dialog.where_result()

    encrypt_decrypt = user_dialog.DECRYPT
    # message = "D:\Project\Python\des\Messages\Chiffrement_DES_de_Orelsan.txt"
    # key = "D:\Project\Python\des\Messages\Clef_de_Orelsan.txt"
    # message = "je sais pas trop mais je test des trucs plutot interessant ahah"
    # key = "0100110010101110110111001010110111000100011010001100100000101010"
    where_print_result = user_dialog.CONSOLE

    if encrypt_decrypt == user_dialog.ENCRYPT:
        message = my_des.encrypt(message, key)
    elif encrypt_decrypt == user_dialog.DECRYPT:
        message = my_des.decrypt(message, key)

    if where_print_result == user_dialog.CONSOLE:
        print(message)
    elif encrypt_decrypt == user_dialog.FILE:
        open("result.txt", "w").write(message)
        print(
            "Le fichier résultat 'result.txt' a été enregistré à la racine du projet."
        )