可记忆的唯一标识符

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]

可读十六进制

HexHumanHexHUmanHexHuman
1l5s9g
2z6h0o
3m7t
4y8x

其他

eh3碰撞>

MUID冲突需要与UUID冲突大致相同的计算能力,或者更多。在

因此不太可能成为一个问题。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置