In [23]:
import random,string,os

fh = open(r'c:\temp\words.txt')
text = fh.read()
fh.close()
print("原文件:",text)
print('\n')
l=0
end=0
while end<len(text):
    if text[end] ==' ':
        l+=1
    end+=1
print("词数:",l)
print('\n')
words=text.split(' ')
print("源码:",words)
print('\n')
fh = open(r'c:\temp\words_correct.txt','w')
fh.writelines(words)
fh.close
key=[]
for i in range(l):
    key.append(str(random.randint(100000000,999999999)*10+len(words[i])-1))
print("密码:",key)
print('\n')
m=[]
for i in range(l):
    word=''
    for j in range(len(words[i])):
        n=ord(words[i][j])
        if 99<=n+int(key[i][j])<=122:
            n=n+int(key[i][j])
            word+=chr(n)
        else:
            n=int(key[i][j])+n-26
            word+=chr(n)
    m.append(word)
for i in range(l):
    m[i]=m[i].lower()
print("加密:",m)
print('\n')
for i in range(l):
    m[i]=m[i]+''.join(random.sample(string.ascii_letters,(10-len(words[i]))))
    m[i]=m[i].lower()
print("解密:",m)
fh = open(r'c:\temp\key.txt','w')
fh.writelines(t)
fh.close()
fh= open(r'c:\temp\key.txt','w')
m=[m+' ' for m in m]
fh.writelines(t)
fh.close()


原文件: pen pencil case ruler book bag card eraser crayon take place beauty harvest hunter starve origin religious seasonal ancestor grave incense in memory of trick play essity


词数: 26


源码: ['pen', 'pencil', 'case', 'ruler', 'book', 'bag', 'card', 'eraser', 'crayon', 'take', 'place', 'beauty', 'harvest', 'hunter', 'starve', 'origin', 'religious', 'seasonal', 'ancestor', 'grave', 'incense', 'in', 'memory', 'of', 'trick', 'play', 'essity']


密码: ['7696717242', '6022356875', '1171040583', '3309958794', '3989370173', '1176718062', '8986167933', '1940718195', '5346888585', '2784143843', '1116040144', '4829968175', '5612546746', '6188271615', '2621404575', '8414160885', '9689095598', '7207515717', '4278633757', '8601729484', '6545373546', '7026344301', '2014396305', '6380456951', '4045133474', '6242248623']


加密: ['wkw', 'vepelq', 'dhzf', 'uxlna', 'exwt', 'chn', 'kjzj', 'faesls', 'hueewv', 'vhsi', 'qmhie', 'fmcdce', 'mgsxjwz', 'nvvbgy', 'uzcsze', 'wvjkjt', 'aktrgrtzb', 'zggztofs', 'epjmywry', 'oxgwl', 'osgjqzh', 'pn', 'oensuh', 'ui', 'xrmhl', 'vnea']


解密: ['wkwhtylxcq', 'vepelqfjpx', 'dhzfogpqqj', 'uxlnayaeei', 'exwteiromc', 'chnsylqxun', 'kjzjopytiq', 'faeslsrfcg', 'hueewvylvc', 'vhsiozriwk', 'qmhiemvpgt', 'fmcdcepsvr', 'mgsxjwzani', 'nvvbgyyosr', 'uzcszetjdf', 'wvjkjtvoxy', 'aktrgrtzbd', 'zggztofsbp', 'epjmywryhk', 'oxgwluyrsm', 'osgjqzhuhx', 'pnfvyjklnp', 'oensuhuwtv', 'uiluqoaysg', 'xrmhlpddjx', 'vnealcqwez']

In [ ]: