如何在python中使用此加密函数的解密函数
如果这是一个加密函数:如何在python中使用此加密函数的解密函数,python,string,encryption,hash,hashmap,Python,String,Encryption,Hash,Hashmap,如果这是一个加密函数: (ascii_value % a_ big_ prime_number + a_number_of_ user’s_choice) 将加密字符串转换为原始字符串的反解密函数是什么,以及如何在python中实现它 加密函数类似于: def encrypt_function(string): encrypted_string = '' user_input = int(input('Enter an integer')) for c in str
(ascii_value % a_ big_ prime_number + a_number_of_ user’s_choice)
将加密字符串转换为原始字符串的反解密函数是什么,以及如何在python中实现它
加密函数类似于:
def encrypt_function(string):
encrypted_string = ''
user_input = int(input('Enter an integer'))
for c in string:
encrypted_string += chr((ord(c) % 173 + user_input))
return encrypted_string
encrypt_function('hello')
输出类似于“þĂĂą”,用户_输入=150,如何创建一个返回原始字符串“hello”并使用除173以外的不同素数的方法。代码未正确缩进。我认为正确的代码应该是这样的:
def encrypt_function(string):
encrypted_string = ''
user_input = int(input('Enter an integer'))
for c in string:
encrypted_string += chr((ord(c) % 173 + user_input))
return encrypted_string
指出代码中的缺陷:
ordc输出范围为0255的整数。因此,如果您正在使用代码中所示的ordc%173,您将具有多对一映射,并且不可能解密,因为在您提到的示例中,Aits ord在基10中为0x4165,在基10中为0xee238。它可以是强制的,即检查所有可能的值,但如果字符串的长度为10并且假设每个字符串都有2,则这可能会变得很棘手。这将基于您选择的素数映射,因此您可能必须检查2^10个组合
在加密的_string+=chrordc%173+用户输入的行中,您正在将ordc%173添加到用户输入的整数中。ordc%173+用户输入值有可能超过255。chr函数的范围为0255(含0255)
有关更多详细信息,请参阅文档:
作战需求文件可在
chr van be found如果ascii_值只是一个介于0和127之间的数字,正如名称ascii_值所暗示的,您可以减去用户_输入并返回原始值,假设用户_输入大于127
这是因为如果a