如何用python实现mysql的aes\u decrypt()

qyuhtwio  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(580)

我正在尝试编写一个python代码,它与 AES_ENCRYPT 以及 AES_DECRYPT mysql的。https://dev.mysql.com/doc/refman/5.6/ja/encryption-functions.html
我想在mysql和python之间加密和解密数据。
例如,我想用python解密数据,python通过 AES_ENCRYPT mysql的。
我想通过 AES_DECRYPT mysql,python加密mysql,python加密mysql。
我找到了一个 AES_ENCRYPT 在python中。https://www.maykinmedia.nl/blog/2012/nov/15/mysql-aes_encrypt-python/
有人知道如何实现解密部分吗?

ycggw6v2

ycggw6v21#

我终于做到了。

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()

相关问题