我对我们的任务非常困惑:"开发程序的一部分,该程序生成一个八个关键字符密钥,程序将用它来加密消息"。我们正在尝试创建加密程序。我到目前为止的代码:
Picasso.with(viewHolder.itemView.getContext()).load(imageUrl).into(viewHolder.field_image_thumb);
def fileopen():
filename=input('What is the name of the file: ')
with open(filename) as yarr:
contents=yarr.read()
return contents
答案 0 :(得分:0)
尝试使用Caesar密码。
这是我的来源:
MAX_KEY_SIZE = 26
def getMode():
while True:
print('Do you wish to encrypt or decrypt or brute force a message?')
mode = input().lower()
if mode in 'encrypt e decrypt d brute b'.split():
return mode
else:
print('Enter either "encrypt" or "e" or "decrypt" or "d" or "brute" or "b".')
def getMessage():
print('Enter your message:')
return input()
def getKey():
key = 0
while True:
print('Enter the key number (1-%s)' % (MAX_KEY_SIZE))
key = int(input())
if (key >= 1 and key <= MAX_KEY_SIZE):
return key
def getTranslatedMessage(mode, message, key):
if mode[0] == 'd':
key = -key
translated = ''
for symbol in message:
if symbol.isalpha():
num = ord(symbol)
num += key
if symbol.isupper():
if num > ord('Z'):
num -= 26
elif num < ord('A'):
num += 26
elif symbol.islower():
if num > ord('z'):
num -= 26
elif num < ord('a'):
num += 26
translated += chr(num)
else:
translated += symbol
return translated
mode = getMode()
message = getMessage()
if mode[0] != 'b':
key = getKey()
print ('Your translated text is:')
if mode[0] != 'b':
print(getTranslatedMessage(mode,message,key))
else:
for key in range(1, MAX_KEY_SIZE + 1):
print(key,getTranslatedMessage('decrypt',message,key))
key = getKey()
print('Your translated text is:')
print(getTranslatedMessage(mode, message, key))
像这样工作:
首先定义是否要解密或加密文本(写入e或d并按Enter键)。然后输入您的信息并按回车确认。接下来输入一个数字并记住它,以便何时解密消息。然后按回车键,您将收到加密/解密的消息。
您可以重命名问题并在if语句中添加输入字段,以便它也可以转换文本文件。
希望这会有所帮助:)
答案 1 :(得分:0)
您可以使用以下Random string generation with upper case letters and digits in Python中的示例生成一个randon字符串,这里有一个简单的加密方法Simple way to encode a string according to a password?。希望这有帮助