Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用此加密函数的解密函数_Python_String_Encryption_Hash_Hashmap - Fatal编程技术网

如何在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您做了什么?有什么问题?给我们看看你的一些代码。@ArashKazemi我提供了加密函数,我想要的是另一个函数来检索原始字符串谢谢,它工作正常。就加密方案而言,这是一项学校作业,其中的问题是:创建一个脚本,使用简单的散列函数加密您的asci数据,例如asci值%a_uuu大_uuuuu素数+用户选择的a_u数。并将您的输入散列至少两到三次