Veritas 1.0.2
See the version list below for details.
dotnet add package Veritas --version 1.0.2
NuGet\Install-Package Veritas -Version 1.0.2
<PackageReference Include="Veritas" Version="1.0.2" />
<PackageVersion Include="Veritas" Version="1.0.2" />
<PackageReference Include="Veritas" />
paket add Veritas --version 1.0.2
#r "nuget: Veritas, 1.0.2"
#:package Veritas@1.0.2
#addin nuget:?package=Veritas&version=1.0.2
#tool nuget:?package=Veritas&version=1.0.2
<p align="center"> <img src="src/Veritas/veritas.png" alt="Veritas logo" width="200" /> </p>
Veritas
Core primitives and algorithms for identifier validation and generation.
⚠️ Caution The vast majority of this code was written by AI. Please perform your own due diligence before deploying it in production. Feedback via GitHub issues and merge requests is always welcome.
Install
dotnet add package Veritas --version 1.0.1
Currently implemented
Algorithms
- Luhn (mod 10)
- ISO 7064 (mod 11,10; mod 97; mod 37,2)
- GS1 mod 10
- Weighted mod 11 variants
- ISO 6346 container check digit
- MRZ (ICAO 9303 7-3-1 pattern)
- Base58Check codec
Finance
- IBAN validation (ISO 13616 / ISO 7064 mod 97)
- BIC/SWIFT code structural validation
- ISIN validation (alphabetic + numeric with Luhn check digit)
- ISO 11649 RF creditor reference validation and generation
- Payment card PAN validation (Luhn)
- US ABA routing number validation
- Mexican CLABE validation and generation
- Legal Entity Identifier (LEI) validation and generation
- SEDOL validation and generation
- CUSIP validation and generation
- Market Identifier Code (MIC) structural validation
- German WKN structural validation
Energy
- Energy Identification Code (EIC) validation and generation (ISO 7064 mod 37,2)
- Great Britain MPAN core validation and generation
- Great Britain MPRN validation
- Netherlands Energy EAN validation and generation
- Spain CUPS validation and generation
- Germany MaLo validation and generation
- Germany MeLo validation and generation
- Germany ZPN validation and generation
- France PRM validation
- Italy POD structural validation
- Italy PDR structural validation
Identity
- UUID/GUID validation and generation
- Email address validation
- ULID validation and generation
- NanoID validation and generation
- Phone number (E.164) validation
- Domain name validation
- KSUID validation and generation
- BCP 47 language tag validation
- Ethereum address validation
- Base58Check validation and generation
Tax
- Brazil CPF validation/generation
- Brazil CNPJ validation/generation
- Germany USt-IdNr validation/generation
- Germany IdNr validation/generation
- Canada SIN validation/generation
- Canada Business Number validation/generation
- United States SSN structural validation and generation
- United Kingdom NINO structural validation
- United Kingdom UTR checksum validation and generation
- United Kingdom VAT checksum validation
- United Kingdom Company Number structural validation
- United States EIN prefix validation
- United States ITIN structural validation
- Australia TFN checksum validation/generation
- Australia ABN checksum validation/generation
- India PAN validation/generation
- France SIREN validation
- France SIRET validation
- France VAT checksum validation
- Italy VAT (PIVA) checksum validation
- China USCC validation/generation
- Spain NIF checksum validation
- Spain NIE checksum validation
- Spain CIF checksum validation
- Netherlands BSN checksum validation
- Netherlands VAT (BTW) checksum validation
- Poland NIP checksum validation
- Poland REGON checksum validation
- Poland PESEL checksum validation
- Sweden Personnummer checksum validation
- Sweden OrgNr checksum validation
- New Zealand IRD checksum validation
Logistics
- GTIN/EAN/UPC validation and generation (GS1 mod 10)
- Global Location Number (GLN) validation and generation
- Serial Shipping Container Code (SSCC) validation and generation
- Vehicle Identification Number (VIN) validation
- ISO 6346 container code validation
- Air Waybill (AWB) validation and generation
- IMO ship identification number validation and generation
Telecom
- IMEI validation and generation
- MEID validation and generation
- ICCID validation and generation
- MAC address validation and generation
- OUI validation and generation
- ASN validation and generation
- IPv4 structural validation
- IPv6 structural validation
Education & Media
- ISBN-10 validation and generation
- ISBN-13 validation and generation
- ISSN validation and generation
- DOI structural validation
- ISNI validation and generation
- ISMN validation and generation
- ISRC structural validation
Healthcare
- NHS Number validation and generation
- ORCID validation and generation
Additional identifiers and algorithms will be added per the PRD.
Example usage
// Validate an IBAN
Finance.Iban.TryValidate("FR14 2004 1010 0505 0001 3M02 606", out var iban);
Console.WriteLine(iban.IsValid); // True
Console.WriteLine(iban.Value!.Value); // FR1420041010050500013M02606
// Generate a GTIN-13
foreach (var s in Bulk.GenerateMany((dst, rng) => {
var ok = Logistics.Gtin.TryGenerate(13, new GenerationOptions { Seed = rng.Next() }, dst, out var w);
return (ok, w);
}, count: 3, seed: 42))
{
Console.WriteLine(s);
}
// Validate a telecom identifier
Telecom.Imei.TryValidate("490154203237518", out var imei);
Console.WriteLine(imei.IsValid); // True
Contributing
Contributions are welcome! Fork the repository, create a topic branch, and open a pull request:
- Describe the motivation and design in the PR description.
- Ensure tests and formatting checks pass.
- The maintainers will review and merge when ready.
Continuous integration via GitHub Actions restores dependencies, builds, and runs the test suite on every push and pull request. Packages are produced by the publish workflow and releases are drafted automatically.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.