91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現的凱撒密碼算法示例

發布時間:2020-10-13 23:01:47 來源:腳本之家 閱讀:243 作者:chengqiuming 欄目:開發技術

本文實例講述了Python實現的凱撒密碼算法。分享給大家供大家參考,具體如下:

一 介紹

凱撒密碼是一種非常古老的加密方法,相傳當年凱撒大地行軍打仗時為了保證自己的命令不被敵軍知道,就使用這種特殊的方法進行通信,以確保信息傳遞的安全。他的原理很簡單,說到底就是字母于字母之間的替換。下面讓我們看一個簡單的例子:“baidu”用凱撒密碼法加密后字符串變為“edlgx”,它的原理是什么呢?把“baidu”中的每一個字母按字母表順序向后移3位,所得的結果就是剛才我們所看到的密文。

二 代碼

# -*- 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"您的輸入有誤!")

三 運行結果

 Python實現的凱撒密碼算法示例

PS:關于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜良县| 石屏县| 嘉黎县| 池州市| 得荣县| 威海市| 金坛市| 丰镇市| 天津市| 秀山| 松潘县| 团风县| 巍山| 平武县| 灌南县| 阳春市| 崇礼县| 枣庄市| 屏东县| 玉环县| 临沭县| 彭州市| 区。| 德令哈市| 伊金霍洛旗| 屏东市| 蒲城县| 黄龙县| 石屏县| 来宾市| 桃源县| 永泰县| 丹江口市| 樟树市| 砀山县| 峡江县| 卢湾区| 白沙| 永兴县| 河北区| 无为县|