Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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_Encryption_Base64 - Fatal编程技术网

Python中加密方法的解密方法

Python中加密方法的解密方法,python,encryption,base64,Python,Encryption,Base64,我正在寻找这个加密算法的解密方法 import base64 characterEncoding = 'utf-8' def encrypt(str, key): strBytes = bytearray(str.encode(characterEncoding)) keyBytes = bytearray(key.encode(characterEncoding)) off = -128; for i in range(len(strBytes)):

我正在寻找这个加密算法的解密方法

import base64
characterEncoding = 'utf-8'
def encrypt(str, key):
    strBytes = bytearray(str.encode(characterEncoding))
    keyBytes = bytearray(key.encode(characterEncoding))
    off = -128;
    for i in range(len(strBytes)):
        off += strBytes[i]
        strBytes[i] = (off ^ keyBytes[i % len(keyBytes)]) & 0xFF
    return base64.b64encode(strBytes).decode(characterEncoding)
这段代码是我在试图解决它时编写的,但我不确定我所做的工作的逻辑

def decrypt(str, key):
    strcipher = bytearray(base64.b64decode(str))
    keyBytes = bytearray(key.encode(characterEncoding))
    for i in range(len(strcipher)):
        on = (strcipher[i] ^ keyBytes[i % len(keyBytes)]) & 0xFF
        strcipher[i] = on - strcipher[i+1]

    return strcipher.decode('utf-8')`

欢迎来到堆栈溢出!你已经试过一些代码了吗?如果是这样的话,你会分享吗?是的,我尝试了很多方法,但是我找不到正确的逻辑来反转加密。这是我最后一次尝试的代码@FrancescoB.请回答您的问题,而不是在评论中添加代码。我编辑了我的帖子,请检查一下!