chrome_passwords.py 文件源码

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

项目:EvilOSX 作者: Marten4n6 项目源码 文件源码
def pbkdf2_bin(hash_fxn, password, salt, iterations, keylen=16):
    # https://github.com/mitsuhiko/python-pbkdf2
    _pack_int = struct.Struct('>I').pack
    hashfunc = sha1
    mac = hmac.new(password, None, hashfunc)

    def _pseudorandom(x, mac=mac):
        h = mac.copy()
        h.update(x)
        return map(ord, h.digest())
    buf = []
    for block in xrange(1, -(-keylen // mac.digest_size) + 1):
        rv = u = _pseudorandom(salt + _pack_int(block))
        for i in xrange(iterations - 1):
            u = _pseudorandom("".join(map(chr, u)))
            rv = itertools.starmap(operator.xor, itertools.izip(rv, u))
        buf.extend(rv)
    return "".join(map(chr, buf))[:keylen]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号