Skip to main content
 首页 » 编程设计

python之使用循环密码加密消息

2025年05月04日6luoye11

这是一个例子:

  • 普通:ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Shift = 4
  • 密码:DEFGHIJKLMNOPQRSTUVWXYZABC

代码如下:

print ("This is a cyclic cipher program that will encrypt messages.") 
 
#phrase = input("Please enter a phrase to encrypt.") 
phrase = "ABCDEFG" 
#shift_value = int(input ("Please enter a shift value between 1 - 5.")) 
shift_value = 1 
encoded_phrase = "" 
ascii_codes = 0 
x = "" 
#accepted_ascii_codes = range(65,90) and range(97,122) 
 
for c in phrase: 
ascii_codes = ord(c) # find ascii codes for each charcter in phrase 
ascii_codes = ascii_codes + shift_value # add an integer (shift value) to ascii codes 
phrase_rest = chr(ascii_codes) # convert ascii codes back to characters 
encoded_phrase = encoded_phrase + c # stores the phrase character in a new variable 
encoded_phrase = encoded_phrase.replace(c,phrase_rest) # replace original character 
 
print (phrase) # prints "ABCDEFG" 
print (encoded_phrase) # prints "HHHHHHH" 

请您参考如下方法:

你在每个循环中重新编码你的加密字母,这可以达到目的:

for c in phrase: 
  ascii_codes = ord(c) # find ascii codes for each charcter in phrase 
  ascii_codes = ascii_codes + shift_value # add an integer (shift value) to ascii codes 
  phrase_rest = chr(ascii_codes) # convert ascii codes back to characters 
  encoded_phrase = encoded_phrase + phrase_rest # stores the phrase character in a new variable 

但是,您可能想用原始字母和加密字母建立字典。然后你会遍历它们并得到加密的句子。例如:

cypher = {'a': 'x', 'b': 'y', ... } 
encoded = '' 
for c in phrase: 
  encoded += cypher[c]