Как использовать реализацию AES_DECRYPT () MySQL от Python - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь написать код на Python, который имеет такие же функциональные возможности, как AES_ENCRYPT и AES_DECRYPT MySQL. https://dev.mysql.com/doc/refman/5.6/ja/encryption-functions.html

Я хочу зашифровать и расшифровать данные между MySQL и Python.

Например, я хочу расшифровать данные с помощью Python, который зашифрован AES_ENCRYPT MySQL.

И я хочу расшифровать данные с помощью AES_DECRYPT MySQL, который шифруется Python и наоборот.

Я нашел пример AES_ENCRYPT в Python. https://www.maykinmedia.nl/blog/2012/nov/15/mysql-aes_encrypt-python/

Кто-нибудь знает, как реализовать дешифрование?

1 Ответ

0 голосов
/ 06 июля 2018

Я наконец сделал это.

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