Heim >Backend-Entwicklung >Python-Tutorial >Beispiel eines in Python implementierten Caesar-Verschlüsselungsalgorithmus

Beispiel eines in Python implementierten Caesar-Verschlüsselungsalgorithmus

不言
不言Original
2018-05-05 15:32:339000Durchsuche

Dieser Artikel stellt hauptsächlich den in Python implementierten Caesar-Verschlüsselungsalgorithmus vor, stellt das Konzept und Prinzip der Caesar-Verschlüsselungsalgorithmus kurz vor und analysiert die relevanten Definitionen und Verwendungstechniken des in Python implementierten Caesar-Verschlüsselungsalgorithmus in Form von Beispielen Bedarf kann sich auf Folgendes beziehen

Das Beispiel in diesem Artikel beschreibt den in Python implementierten Caesar-Verschlüsselungsalgorithmus. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Einführung

Die Caesar-Chiffre ist eine sehr alte Verschlüsselungsmethode Um sicherzustellen, dass ihre Befehle dem Feind nicht bekannt werden, wenn sie auf der Erde marschieren und kämpfen, nutzen sie der Legende nach diese spezielle Kommunikationsmethode, um die Sicherheit der Informationsübertragung zu gewährleisten. Sein Prinzip ist im Endeffekt das Ersetzen von Buchstaben zwischen Buchstaben. Schauen wir uns ein einfaches Beispiel an: „baidu“ wird mit der Caesar-Verschlüsselung verschlüsselt und die Zeichenfolge wird zu „edlgx“. Was ist das Prinzip? Verschieben Sie jeden Buchstaben in „baidu“ in alphabetischer Reihenfolge um drei Ziffern nach hinten, und das Ergebnis ist der Chiffretext, den wir gerade gesehen haben.

Zweiter 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"您的输入有误!")

Drei laufende Ergebnisse

Verwandte Empfehlungen:

Python-Implementierungsbeispiel zum Finden aller Teilmengen einer Menge

Python implementiert den klassischen LR-Algorithmus

Das obige ist der detaillierte Inhalt vonBeispiel eines in Python implementierten Caesar-Verschlüsselungsalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn