Maison >développement back-end >Tutoriel Python >Exemple d'algorithme de chiffrement César implémenté en Python
Cet article présente principalement l'algorithme de chiffrement César implémenté en Python, présente brièvement le concept et le principe du chiffrement César et analyse les définitions pertinentes et les techniques d'utilisation de l'algorithme de chiffrement César implémenté en Python sous forme d'exemples. besoin peut se référer à ce qui suit
L'exemple de cet article décrit l'algorithme de chiffrement César implémenté en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Introduction
Le chiffre César est une méthode de cryptage très ancienne selon. Selon la légende, César était Afin de garantir que leurs ordres ne soient pas connus de l'ennemi lorsqu'ils marchent et combattent sur terre, ils utilisent cette méthode spéciale pour communiquer afin d'assurer la sécurité de la transmission des informations. Son principe est très simple, en dernière analyse, c'est le remplacement de lettres entre lettres. Regardons un exemple simple : « baidu » est chiffré avec le chiffre César et la chaîne devient « edlgx ». Quel est son principe ? Décalez chaque lettre de « baidu » vers l’arrière de 3 chiffres dans l’ordre alphabétique, et le résultat est le texte chiffré que nous venons de voir.
Deuxième code
# -*- coding:utf-8 -*- import os #==================================================================# # 凯撒密码(caesar)是最早的代换密码,对称密码的一种 # # 算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代 # #==================================================================# def encryption(): str_raw = raw_input("请输入明文:") k = int(raw_input("请输入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_encry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) < 123-k: str_list_encry[i] = chr(ord(str_list[i]) + k) else: str_list_encry[i] = chr(ord(str_list[i]) + k - 26) i = i+1 print ("加密结果为:"+"".join(str_list_encry)) def decryption(): str_raw = raw_input("请输入密文:") k = int(raw_input("请输入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_decry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) >= 97+k: str_list_decry[i] = chr(ord(str_list[i]) - k) else: str_list_decry[i] = chr(ord(str_list[i]) + 26 - k) i = i+1 print ("解密结果为:"+"".join(str_list_decry)) while True: print (u"1. 加密") print (u"2. 解密") choice = raw_input("请选择:") if choice == "1": encryption() elif choice == "2": decryption() else: print (u"您的输入有误!")
Trois résultats en cours
Recommandations associées :
Exemple d'implémentation Python pour trouver tous les sous-ensembles d'un ensemble
Python implémente l'algorithme classique LR
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!