Python 中的 Mosquitto 密码生成

Mosquitto Password Generation in Python

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

这是一个简单的解决方案:

#!/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('$%s$%s' % (repr(salt)[2:-1],repr(base64.b64encode(dg))[2:-1]))