代码之家  ›  专栏  ›  技术社区  ›  Michael Hecht

Python中的MOSQUITO密码生成

  •  0
  • Michael Hecht  · 技术社区  · 4 年前

    是否可以使用python生成加密的Mosquitto密码?它用于自动生成新用户,但避免通过命令行调用调用mosquitto_passwd。

    0 回复  |  直到 4 年前
        1
  •  0
  •   Michael Hecht    4 年前

    以下是一个简单的解决方案:

    #!/usr/bin/python3
    
    import hashlib
    import base64
    import random
    
    print()
    
    chars   = b'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    
    salt    = bytes([random.choice(chars) for i in range(16)])
    saltB64 = base64.b64decode(salt)
    
    passwd  = b'Hello World!'
    
    m = hashlib.sha512()
    m.update(passwd)
    m.update(saltB64)
    dg = m.digest()
    
    print('$6$%s$%s' % (repr(salt)[2:-1],repr(base64.b64encode(dg))[2:-1]))