libssl.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:Telethon 作者: LonamiWebs 项目源码 文件源码
def decrypt_ige(cipher_text, key, iv):
            """
            Decrypts the given text in 16-bytes blocks by using the
            given key and 32-bytes initialization vector.
            """
            aeskey = AES_KEY()
            ckey = (ctypes.c_ubyte * len(key))(*key)
            cklen = ctypes.c_int(len(key)*8)
            cin = (ctypes.c_ubyte * len(cipher_text))(*cipher_text)
            ctlen = ctypes.c_size_t(len(cipher_text))
            cout = (ctypes.c_ubyte * len(cipher_text))()
            civ = (ctypes.c_ubyte * len(iv))(*iv)

            _libssl.AES_set_decrypt_key(ckey, cklen, ctypes.byref(aeskey))
            _libssl.AES_ige_encrypt(
                ctypes.byref(cin),
                ctypes.byref(cout),
                ctlen,
                ctypes.byref(aeskey),
                ctypes.byref(civ),
                AES_DECRYPT
            )

            return bytes(cout)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号