关键词加密
1、选择一个关键词,如果这个关键词中有重复的字母,则去除第一次出现之外的所有相同字母。
2、将关键词写在字母表的下方,并用字母表中出了关键词之外的其他字母按标准的顺序填写余下空间。
python代码如下:
import re
# 去除字符串中相同的元素
string = raw_input("Please Enter Keywords: ")
str = ''.join(x for i, x in enumerate(string)
if string.index(x) == i)
print str
#构造明文密文对应关系表,keyword加密算法
def Keyword_Encryption(txt):
number = input("Please Enter Number: ")
str1 = "abcdefghijklmnopqrstuvwxyz"
str6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
str2 = str + str1
str3 = ''.join(x for i, x in enumerate(str2) if str2.index(x) == i)
str4 = str3[(len(str3)-number):len(str3)] + str3[:(len(str3)-number)]
str5 = ""
for i in txt:
if re.match(r"[a-z]", i):
str5 = str5 + str4[str1.index(i)]
elif re.match(r'[A-Z]',i):
str5 = str5 + str4[str6.index(i)].upper()
else:
str5 = str5 + i
print("Ciphertext:%s" % str5)
if __name__ == '__main__':
txt = raw_input("Please Enter Plaintext: ")
Keyword_Encryption(txt)