【问题标题】:encryption / decryption using dictionaries使用字典加密/解密
【发布时间】:2015-06-18 05:23:22
【问题描述】:

我们得到了一项任务,以帮助我们了解 python 与 JAVA 的工作方式(更具体地说,python 字典的工作方式)。

我们的老师希望我们使用非线性字典创建一个程序,例如:

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

一旦我们完成了这个,我们应该调用这个程序来读取一个随机的(已经指定的 txt 文件)并将结果导入 "encrypted_" 后跟 txt 文件名,所以如果我们加密 text1.txt 它将是加密文本1

这似乎很笨拙,但这个实验室让我感到困惑,我希望这里有一些更有经验的 python 程序员可以指导我使用字典进行加密的一些示例,以便我更好地理解它们是如何工作的。

谢谢

【问题讨论】:

  • 查找 string.translate 函数,它会做你需要做的事情。
  • 我明白了,在调用你想编码的其他文本文档时,是否可以使用该函数?
  • 没错。 python2.7 和 3 之间的语法略有不同,但在 3 中你可以:tab = str.maketrans("123","abc") 来制作翻译表。然后str.translate("1423",tab) 会输出a4bc
  • 好吧,最后一个问题,我尝试使用 string.translate 函数,到目前为止我已经得到了这个(作为测试):
    '#!/usr/bin/python from string import maketrans # 调用 maketrans 函数时需要。 intab = "abcdefghijklmnopqrstuvwxyz" outtab = "cdefghijklmnopqrstuvwxyzab" trantab = maketrans(intab, outtab) str = "这是字符串示例....哇!!!";打印 str.translate(trantab);'我将如何使用这个基本程序来调用另一个文本文件?我知道我必须删除 str = 并打印 str.tran 部分,但我不确定我需要添加什么
  • 我会在 2 秒内发布一个示例作为答案。

标签: python encryption dictionary


【解决方案1】:

翻译文本文件的示例程序(注意这是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)

【讨论】:

  • 是的,我使用 2.7 可能是为什么它给了我文件“./test.py”,第 7 行,在 trantab = str.maketrans(intab, outtab) AttributeError: type object ' str' 没有属性 'maketrans' 我唯一改变的东西(当时)是 your_file 到 simple.txt,但我知道我会修改它
  • @Daniel 就像我说的,3 和 2.7 的语法不同。我说我发布了适用于 3 的代码。我将代码编辑为应该适用于 2.7 的代码,但我没有安装 2.7 来检查。
  • 我看到了,这就是为什么我说我会搞砸它,只是让它实际工作,我需要添加更多组件,但这回答了加密部分。谢谢!
猜你喜欢
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多