32位Damm算法的纯Python实现。
项目描述
Damm32
32位Damm算法的Python实现
默认情况下,它使用RFC 4648中指定的字母表,包含32个字母数字字符,去除了相似外观的字符。填充符号不包括在内。
安装
该软件包可在PyPI上找到,并可以使用pip进行安装: pip install damm32
它还可在Arch用户仓库中找到,名称为python-damm32
。
或者,您也可以克隆仓库并使用该模块。
用法
该模块包含一个名为Damm32
的类,该类实现了校验和的方法。
from damm32 import Damm32
d32 = Damm32()
digit = d32.calculate("HELLO")
d32.verify("HELLO" + digit)
您还可以将长度为32的列表传递给类的构造函数,以指定您的字母表。
from damm32 import Damm32
d32 = Damm32(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '2', '3', '4', '5', '6', '7'])
工作原理
这是Damm算法在32位系统中的实现。
它将检测两种最常见的转录错误的所有发生情况,即更改一个单独的数字和交换两个相邻的数字(包括交换尾随校验数字和前一个数字)。
由于添加前导零不会影响校验数字,因此不应该一起验证可变长度的代码,例如,0、01和001等产生相同的校验数字。然而,所有校验和算法都容易受到这种攻击。
实现使用来自低权重不可约二元多项式表的位掩码,以启用不构造拟群计算校验数字。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
damm32-1.2.1.tar.gz (4.4 kB 查看哈希值)
构建分布
damm32-1.2.1-py3-none-any.whl (4.7 kB 查看哈希值)
关闭
damm32-1.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b101d4b537ce48a684c688a2aa6f58e5917809230118af66de05eecb26a01597 |
|
MD5 | 626dd72aeea268be587f136d0b205aa7 |
|
BLAKE2b-256 | 91d86d1983933af307d2754556b5a1992583c0a60237fae20465c1b3fbafef98 |
关闭
damm32-1.2.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 63840db7ec4ae8e9945e289e81d6c58341ce1b44ca8ca6485f2696cd58e4df9a |
|
MD5 | b470e79e7e52915e754d8e6c49549465 |
|
BLAKE2b-256 | c0e0ac720a9651a4047741a65f98b9e333ec39bcad1272693e3b672d040525c7 |