Python 에서 실 현 된 카 이 저 암호 화 알고리즘 예제

이 글 의 실례 는 Python 이 실현 한 카 이 저 암호 알고리즘 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
소개
카 이 저 비밀 번 호 는 매우 오래된 암호 화 방법 으로 그 당시 카 이 저 대지 에서 행군 하여 싸 울 때 자신의 명령 이 적군 에 게 알려 지지 않도록 이런 특수 한 방법 으로 통신 을 하여 정보 전달 의 안전 을 확보 했다 고 전해 진다.그의 원 리 는 매우 간단 하 다.말하자면 자모 와 자모 사이 의 교체 이다.다음은'baidu'가 카 이 저 암호 법 으로 암호 화 된 후 문자열 이'edlgx'로 변 하 는 간단 한 예 를 보 여 줍 니 다.그 원 리 는 무엇 입 니까?'baidu'의 모든 자 모 를 알파벳 순 으로 세 자리 뒤로 옮 기 면 얻 은 결 과 는 바로 방금 우리 가 본 비밀문 이다.
코드

# -*- 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"      !")

삼 운행 결과
 
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
온라인 sha 1/sha 224/sha 256/sha 384/sha 512 암호 화 도구:
http://tools.jb51.net/password/sha_encode
더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기