該**核心思想為採用maketrans函式隨機生成對映表,經過多次對映,相當於乙個多表置換密碼。
#加密
#維吉尼亞密碼
str1 = "abcdefghi,.;:jklmnop!qrstuvwxyz12 346578abcdefghijklmnopqrstuvwxyz"
str2 = "klmnopqr12s3t,a:5;b.x6de8!fgh 7ijkl4mnopqrstuvwxyzuvwxyzabcdefghij"
str3 = "tuvwxy1za2ab3xd7efg8,.;:hi5jk6!lmno4pqrs tuvwxyzbcdefghijklmnopqrs"
str4 = "klmn1op3qr4ab5ab7xd,.;:ef8ghi6j klm2nopqrst!uvwxyzcdefghijstuvwxyz"
table1 = str.maketrans(str1,str2)
table2 = str.maketrans(str2,str3)
table3 = str.maketrans(str3,str4)
table1_1 = str.maketrans(str2,str1)
table2_1 = str.maketrans(str3,str2)
table3_1 = str.maketrans(str4,str3)
text =input("請輸入待加密資料:")
ct1 = text.translate(table1)
ct2 =ct1.translate(table2)
ct =ct2.translate(table3)
print("密文是:%s" % ct)
ct =input("請輸入待解密資料:")
print(ct.translate(table3_1).translate(table2_1).translate(table1_1))
效果如下:
Python學習之字串
字串或串 string 是由數字 字母 下劃線組成的一串字元。一般記為 s a1a2 an n 0 它是程式語言中表示文字的資料型別。python的字串列表有2種取值順序 如果你的實要取得一段子串的話,可以用到變數 頭下標 尾下標 就可以擷取相應的字串,其中下標是從0開始算起,可以是正數或負數,下標...
python學習之字串
1 賦值 msg studying python now msg1 xu te t為4個空格 msg3 aaa qq.com msg4 d1 2 字串常用方法 print msg.capitalize 首字母大寫 print msg.center 40,按40個字元寬度居中顯示字串,前後用 填充 p...
PYTHON 學習之字串變數
利用百分號格式化 name zhangsan age 25 price 4500.225 print my name is s name print i am d age years old print my price is f price 保留指定位數小數 四捨五入 print my price...