可记忆的唯一标识符
muid的Python项目详细描述
穆伊德
难忘的唯一标识符
等等你说。。。这是个矛盾的说法
在https://vimeo.com/397352413处的视频说明
令人难忘的唯一标识符是一个挑衅性的错误命名,因为可记忆性是对立的 独特性。muid可以更好地称为“哈希可记忆”标识符:标识符 SHA-256哈希在一定程度上是令人难忘的。在
现在就开始采矿吧
只想我的?在
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/microprediction/muid/master/examples/mine_from_venv.sh)"
如果失败,您可能需要python3
^{pr2}$直接使用库
根据https://muid.readthedocs.io/en/latest/。。。在
安装
pip install muid
哈希可记性
>>> muid.bhash(b'f601f291896bb66b8a3c3d783077713a')
b'56a33411a3ae7cfc95597911708358ad'
没看见吗?在
>>> muid.pretty(b'56a33411a3ae7cfc95597911708358ad',k1=6,k2=5)
'Shammy Llama'
创建一个MUID
>>> muid.create(difficulty=8, with_report=True)
[{'length': 8, 'pretty': 'Thof Clam', 'key': b'79f7faf8d1272b94eaac367972a09f7b', 'hash': b'760fc1a3368216b67a044e3d4da1fd85'}]
哈希的字符串版本
使用shash而不是bhash
>>> muid.shash('f601f291896bb66b8a3c3d783077713a')
56a33411a3ae7cfc95597911708358ad
验证
>>> muid.animal(b'f601f291896bb66b8a3c3d783077713a')
'Shammy Llama'
>>> muid.validate(b'f601f291896bb66b8a3c3d783077713a')
True
多个muid的挖掘
永久运行并产生长度不断增加的MUID。在
>>> muid.mine()
{'hash': b'56a33411a3ae7cfc95597911708358ad',
'key': b'f601f291896bb66b8a3c3d783077713a',
'length': 11,
'pretty': 'Shammy Llama'}
{'hash': b'6ea176470adcff53855f04181bca1a1b',
'key': b'fb74baf628d43892020d803614f91f29',
'length': 11,
'pretty': 'Healthy Toad'}
{'hash': b'a3e76457c0de70a153e82067845f1527',
'key': b'769adf0f307181e4ab2bc4c1b991cdc6',
'length': 11,
'pretty': 'Amethyst Cod'}
把不需要的货币遗赠给一位值得尊敬的统计学家。在
应用
请参阅https://vimeo.com/397352413上的视频了解一些动机。在
我们希望你有一个申请,可以受益于少一个加入。在
实施决策
我们欢迎您在https://github.com/microprediction/muid/issues上提出深思熟虑的建议
哈希选择
我们截断hashlib.sha256例如穆伊德·沙什('abe5')相当于
sha256('abe5'.encode('ascii')).hexdigest()[:32]
可读十六进制
Hex | Human | Hex | HUman | Hex | Human |
---|---|---|---|---|---|
1 | l | 5 | s | 9 | g |
2 | z | 6 | h | 0 | o |
3 | m | 7 | t | ||
4 | y | 8 | x |
其他
eh3碰撞>
MUID冲突需要与UUID冲突大致相同的计算能力,或者更多。在
因此不太可能成为一个问题。在
- 项目
标签: