zoukankan      html  css  js  c++  java
  • Security and Cryptography in Python

    Security and Cryptography in Python - Hash Functions(4)

    Why iterate over hash function and demonstrated by implementation in Python

    Code in Python:

    import hashlib
    import base64
    
    
    def guess_password(salt, iterations, entropy):
        alphabet = "abcdefghijklmnopqrstuvwxyz"
        for c1 in alphabet:
            for c2 in alphabet:
                password = str.encode(c1 + c2)
                value = base64.b64encode(hashlib.pbkdf2_hmac("sha512", password, salt, iterations, dklen=128))
                if value == entropy:
                    return password
        return "".encode()
    
    
    iterations = 45454
    salt = base64.b64decode("6VuJKkHVTdDelbNMPBxzw7INW2NkYlR/LoW40L7kVAI=".encode())
    validation = "SALTED-SHA512-PBKDF2"
    entropy = "15KqQ3c+ozUsKvgNZmwU0GNT+De1x/W+/MBkotAgPnMHJ90YDrgYrQRvY4YkCdBhNs+JkStX7EjnCNWAAW5xATANwPlKwBdyFyqrkqnRyxtb+ccd2S2aflf1CwaDOGXl7RKyToGdNjPNzK0gWSaoFX7eSe6Eugnhw51ioPP/OUg=".encode()
    
    password = "??".encode()
    
    password = guess_password(salt, iterations, entropy)
    print(password)
    value = base64.b64encode(hashlib.pbkdf2_hmac("sha512", password, salt, iterations, dklen=128))
    print(value)
    print(entropy)
    
    

    Running Result (The password is 'pw'):

    image-20210307101612265

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    python 之 sys.argv 外部传参动态匹配内部字典
    我是如何打败拖延症的
    图解Docker容器和镜像
    docker1-安装和使用
    python操作RabbitMQ
    Python操作 Memcache、Redis
    python队列、线程、进程、协程
    项目协作与工作流程规范
    python26:自定义form表单验证
    s11d27 算法
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14493558.html
Copyright © 2011-2022 走看看