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
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." )