Luhn 2.1.0

Luhn 2.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2016年10月
SPM支持 SPM

Luca Serpico 维护。



Luhn 2.1.0

基本独立 Luhn

Swift 的 Luhn 算法的基本独立实现。对于在任意基数中生成和验证校验位很有用。

考虑将其移植到 Swift 的 https://github.com/benhodgson/baluhn

来自维基百科:

Luhn 算法或 Luhn 公式,也称为“模 10”或“模 10 算法”,是一个简单的校验公式,用于验证各种识别号码,如信用卡号码、IMEI号码、美国和加拿大国家提供者标识符号码以及加拿大社会保险号码

安装

Swift 包管理器

Swift 包管理器即将推出。

手动

下载项目并将 Sources文件夹内容复制到您要使用它的项目中。

用法

Luhn 提供了两个函数:`verify` 和 `generate`。

`generate` 根据给定基数计算给定输入字符串的 Luhn 校验字符。该字符应附加到输入字符串以生成有效的 Luhn 字符串。

`verify` 测试字符串是否为给定基数的有效 Luhn 字符串。默认情况下,luhn 以基数 10 运行

要使用它,只需在项目中导入 Luhnimport Luhn

示例

克隆并打开 playground,查看库的实时用法。

// Genereta a value to have a valid luhn using the decimal alphabet
try Luhn.generate(baseString: "7992739871") // Generate 3

// Verify if the string is a valid luhn using the decimal alphabet
try Luhn.verify(string: "79927398713") // A valid lunh
try Luhn.verify(string: "79927398714") // An invalid luhn

// Using a defined alphabet
let alphabet = "abcdefghijklmnopqrstuvwxyz"
try Luhn.generate(baseString: "swift", alphabet: alphabet) // Returns l
try Luhn.verify(string: "swiftl", alphabet: alphabet) // A valid luhn
try Luhn.verify(string: "swiftz", alphabet: alphabet) // An invalid luhn

特别感谢

特别感谢 @benhodgson

许可证

Luhn 采用 MIT 许可证发布。有关详情,请参阅 LICENSE。