使用字典进行加密/解密

问题描述:

我们接受了一项任务,帮助我们理解python如何与JAVA一起工作(更具体地说,Python字典是如何工作的)。使用字典进行加密/解密

我们的老师要我们用非线性字典创建程序,例如:

a = c 
b = d 
c = e 
d = f 
e = g 
f = h 
g = i 

一旦我们做到了这一点,我们应该调用这个程序来读取一个随机的(已指定txt文件)和进口结果转换为“encrypted_”,后面跟着txt文件名,所以如果我们加密text1.txt,它将被加密文本

这似乎是所有hunky dory,但这个实验室让我感到困惑,我希望一些更有经验的python programers在这里可以指导我使用字典进行加密的一些例子,这样我可以更好地理解它们是如何实现的工作。

谢谢

+0

查找的字符串。翻译功能,它做你需要做的事情。 – Loocid

+0

我明白了,在调用其他想要编码的文本文档时,是否可以使用该函数? – Daniel

+0

是的。 python2.7和3之间的语法略有不同,但在3中你可以这样做:'tab = str.maketrans(“123”,“abc”)'来创建转换表。然后'str.translate(“1423”,tab)'会输出'a4bc'。 – Loocid

示例程序翻译的文本文件(注意,这是python3,如果你使用python2.7,你将不得不作出一些改变):

from string import maketrans 

intab = "abcdefghijklmnopqrstuvwxyz" 
outtab = "cdefghijklmnopqrstuvwxyzab" 
trantab = maketrans(intab, outtab) 

inputfile = open("your_file_here.txt","r") 
s = inputfile.read() 

translation = s.translate(trantab) 

print(translation) 
+0

是的,我使用2.7可能为什么它给我文件“./test.py”,第7行,在 trantab = str.maketrans(intab,outtab) AttributeError:type object'str'has no attribute'maketrans '我改变的唯一的东西(当时)是your_file到simple.txt,但是我得到了想法Ill修补它的想法 – Daniel

+0

@Daniel就像我说的,3和2.7之间的语法是不同的。我说我发布了代码,在3中工作。我编辑我的代码到一个应该在2.7上工作的代码,但我没有安装2.7来检查。 – Loocid

+0

我看到了,这就是为什么我说我会搞砸,实际上只是让它工作,我需要添加更多的组件,但是这回答了加密部分。谢谢! – Daniel