python的luhn算法的不可知论基础实现。用于生成和验证校验位。

baluhn的Python项目详细描述


巴鲁恩:基础不可知论的鲁恩

baluhn为python提供了Luhn algorithm的独立于基的实现。它是 用于生成和验证任意基中的校验位。

来自维基百科:

The Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm, is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers in US and Canadian Social Insurance Numbers.

安装

使用pip install baluhnpython setup.py install

用法

baluhn模块提供两个功能:verifygenerate

generate计算中给定输入字符串的luhn检查字符 给定的基。此字符应附加到输入字符串 生成有效的luhn字符串。verify测试字符串是否有效 给定基中的luhn字符串。默认情况下,Baluhn以10为基数运行:

>>>frombaluhnimportgenerate,verify>>>verify('5105105105105100')# MasterCard test numberTrue>>>value='510510510510510'# note the missing check digit>>>generate(value)'0'>>>verify(value+'0')True>>>verify(value+'7')False

当以十进制以外的基数操作时,编码器和解码器可调用 应该提供。编码器应采用单个参数、整数和 返回与操作基中的整数相对应的字符。 相反,解码器应采用包含单个字符和 返回操作基中的整数值。注意 编码器和解码器定义的值和字符应为一对一。

例如,使用十六进制时:

>>>hex_alphabet='0123456789abcdef'>>>hex_encoder=lambdai:hex_alphabet[i]>>>hex_decoder=lambdas:hex_alphabet.index(s)>>>value='a8b56f'>>>generate(value,base=16,encoder=hex_encoder,decoder=hex_decoder)'b'>>>verify('a8b56fb',base=16,decoder=hex_decoder)True>>>verify('a8b56fc',base=16,decoder=hex_decoder)False

作者

baluhn由Ben Hodgson编写,由Four Digits维护。

(un)许可证

这是免费和无负担的软件发布到公共领域。

任何人都可以自由复制、修改、发布、使用、编译、销售或分发 此软件,无论是源代码形式还是编译后的二进制文件, 目的,商业的或非商业的,以任何方式。

在承认版权法的司法管辖区内,本协议的作者 软件将对该软件的所有版权利益奉献给公众 领域。我们这样做是为了广大公众的利益 对我们的继承人和继承人的损害。我们希望这次献身 永久放弃所有现在和将来的权利的公开行为 本软件受版权法保护。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者应对任何索赔、损害或其他责任负责,无论是在 因、由或与之相关的合同、侵权行为或其他行为 与软件或软件的使用或其他交易。

有关详细信息,请参阅http://unlicense.org/

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

推荐PyPI第三方库


热门话题
java如何将日期字符串解析为整数变量?   java如何在Spring3+WS2+中使用注释、JibxMarshalling或使用xml配置配置JibxMarshalling和unmarshalling?   安装Oracle Jdeveloper时mac中出现java安装错误。   设置自动保存计时器以在java中定期保存文件(但不使用任何JavaFXAPI)的最佳策略是什么?   模板获取handlebar java中迭代器列表的长度   java如何在特定JAX RS调用中排除对象中的字段?   在Struts 2中抛出NullPointerException的java getText()方法   java比较捐献者和接受者的血型   fedora Java向后兼容性   字符串Java替换多个字符   复制BuffereImage时出现java数组索引错误   并行处理Java 8并行流findFirst   java关闭应用程序后如何离开服务?   Java:Tesseractocr:如何查找单词坐标?