__init__.py 文件源码

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

项目:django-encrypted-id 作者: amitu 项目源码 文件源码
def encode(the_id, sub_key):
    assert 0 <= the_id < 2 ** 64

    crc = binascii.crc32(bytes(the_id)) & 0xffffffff

    message = struct.pack(b"<IQxxxx", crc, the_id)
    assert len(message) == 16

    key = settings.SECRET_KEY
    iv = hashlib.sha256((key + sub_key).encode('ascii')).digest()[:16]
    cypher = AES.new(key[:32], AES.MODE_CBC, iv)

    eid = base64.urlsafe_b64encode(cypher.encrypt(message)).replace(b"=", b"")
    return eid.decode('utf-8')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号