Как использовать реализацию AES_DECRYPT () MySQL от Python

0

Я пытаюсь написать код python, который имеет те же функции, AES_ENCRYPT и AES_DECRYPT и 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/

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

  • 2
    Я не совсем уверен, что именно вы после. Язык вопроса предполагает, что вы хотите использовать функции aes_encrypt () / aes_decrypt (), предоставляемые MySQL в python. В этом случае вы просто передаете параметры в запрос MySQL, а MySQL заботится о шифровании / дешифровании. Но связанный пример имитирует указанную функцию aes_encrypt () внутри python, которая не имеет ничего общего с MySQL. Итак, какой подход вам на самом деле нужен?
  • 0
    Вы можете отредактировать свой вопрос, чтобы предоставить более подробную информацию о вашем требовании.
Показать ещё 3 комментария
Теги:
security
aes

1 ответ

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню