Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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实现MySQL的AES_DECRYPT()_Python_Mysql_Security_Aes - Fatal编程技术网

如何使用Python实现MySQL的AES_DECRYPT()

如何使用Python实现MySQL的AES_DECRYPT(),python,mysql,security,aes,Python,Mysql,Security,Aes,我正在尝试编写一个python代码,它的功能与MySQL的AES\u ENCRYPT和AES\u DECRYPT相同。 我想在MySQL和Python之间加密和解密数据 例如,我想用python对数据进行解密,python由MySQL的AES\u ENCRYPT加密 我想用MySQL的AES\u decrypt对数据进行解密,它是用Python加密的,反之亦然 我在Python中找到了一个AES\u ENCRYPT示例。 有人知道如何实现解密部分吗?我终于做到了 def mysql_aes_

我正在尝试编写一个python代码,它的功能与MySQL的
AES\u ENCRYPT
AES\u DECRYPT
相同。

我想在MySQL和Python之间加密和解密数据

例如,我想用python对数据进行解密,python由MySQL的
AES\u ENCRYPT
加密

我想用MySQL的
AES\u decrypt
对数据进行解密,它是用Python加密的,反之亦然

我在Python中找到了一个
AES\u ENCRYPT
示例。

有人知道如何实现解密部分吗?

我终于做到了

def mysql_aes_decrypt(val, key):

    def mysql_aes_key(key):
        final_key = bytearray(16)
        for i, c in enumerate(key):
            final_key[i % 16] ^= ord(key[i])
        return bytes(final_key)

    k = mysql_aes_key(key)

    cipher = AES.new(k, AES.MODE_ECB)

    return cipher.decrypt(val).decode()

我不确定你到底想要什么。问题的语言建议您使用python中MySQL提供的aes_encrypt()/aes_decrypt()函数。在本例中,您只需将参数传递给MySQL查询,MySQL负责加密/解密。但是链接的示例模仿了python中的aes_encrypt()函数,该函数与MySQL无关。那么,你实际上需要哪种方法?你可以通过提问来提供更多关于你需求的细节。我编辑了我的问题。有什么理由让你的生活变得复杂吗?坚持一种或另一种方法。顺便说一句,用于加密数据的参数也应用于解密。AES是对称密钥加密,我有一个MySQL的sql文件,里面有一些加密数据。我想用Python阅读它,而不用MySQL。对我知道AES需要一个密钥,我知道MySQL中使用的密钥。嗨,谢谢你的代码。当我使用它时,我在代码中看到一个问题<代码>UnicodeDecodeError:“ascii”编解码器无法解码位置0:序号不在范围(128)中的字节0xf3。此错误源于最后一行:
返回cipher.decrypt(val).decode()
。如果我将其保留为
cipher.decrypt(val)
,则没有错误,但字符不可读。