{ "info": { "author": "Johannes Spielmann", "author_email": "jps@shezi.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Damm algorithm decimal check digit\n----------------------------------\n\nNote that check digits are NOT used for verification of data transfers between\ncomputers -- use a CRC or a hash for that purpose! Check digits are used to\ncheck *manual* entry of a digit into a computer system.\n\nA Damm check digit is a single check digit that can detect any\nsingle-digit error as well as any adjacent-digit transpositions. The digit\ncomputed in this module also detects some important phonetic errors (13<->30,\n14<->40, ... 19<-->90).\n\nThis makes the Damm check digit better than other, more well-known check digits\nlike the Luhn code (used in credit cards) and the ISBN base-11 check digit. It\nis equal in detection strength to a Verhoeff check digit, but much simpler to\ncompute.\n\nFurthermore, a hexadecimal Damm check digit was added. This single hexadecimal\ncheck digit that detects every single-digit error as well as any adjacent-digit\ntranspositions. The digit computed in this module also detects some important\nphonetic errors (13<->30, 14<->40, ... 19<-->90). It also detects all\njump-transposition errors (abc -> cba), 93.5 % of all twin digit errors (aa ->\nbb) and 93.5 % of all jump twin digit errors (aca -> bcb).\n\nThere are four functions in this module: `encode`, `encode16`, `check` and\n`check16`. The first two, `encode` and `encode16` are used to calculate the\ncheck digit for a number that you have. Pass in a string with the number you\nwant encoded and get a string with the check digit back. The other two, `check`\nand `check16` are used to check that a number that was entered was entered\ncorrectly. Pass in a string with a number including check digit and get back\n`True`/`False`.\n\n\nDamm algorithm\n--------------\n\nThe Damm check digit is computed by starting with a check digit of zero and then\ncontinually multiplying this check digit with the digits of a given number,\nusing the multiplication of a totally anti-symmetric quasigroup. The properties\nand the selection of the group ensure the qualities of the check digit stated\nabove.\n\nFor further reference on how the algorithm works see\nhttp://en.wikipedia.org/wiki/Damm_algorithm\n \n \nLicense information\n-------------------\n\nCopyright (C) 2013 Johannes Spielmann\n\nThis module, `damm`, is licensed under the terms of the GNU General Public Licenses as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nFor a full description of the license, please see the file\n\n LICENSE", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/shezi/damm/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "damm", "package_url": "https://pypi.org/project/damm/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/damm/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/shezi/damm/" }, "release_url": "https://pypi.org/project/damm/1.0/", "requires_dist": null, "requires_python": null, "summary": "Computing the Damm check digit", "version": "1.0" }, "last_serial": 939934, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e97e8428889b5f4b0746dd0c2c1ad300", "sha256": "e30d78a6eba8e1c734df03ef1873263d7fec5f4faee03499ab1f361d0418dfef" }, "downloads": -1, "filename": "damm-0.1.tar.gz", "has_sig": false, "md5_digest": "e97e8428889b5f4b0746dd0c2c1ad300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2797, "upload_time": "2013-11-30T22:27:54", "url": "https://files.pythonhosted.org/packages/23/a6/632ec0fbb081d7df43a42a4da97d15b471ce754a381b200da5e8b49e7b3a/damm-0.1.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "d0fd2ecc884a54940819cc3fd55ffeb9", "sha256": "cf6257b663c073d53f915fdcb439b718c202eeb15735a621d4f42b02db236208" }, "downloads": -1, "filename": "damm-1.0.tar.gz", "has_sig": false, "md5_digest": "d0fd2ecc884a54940819cc3fd55ffeb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4019, "upload_time": "2013-12-09T15:49:46", "url": "https://files.pythonhosted.org/packages/5a/2a/c66b8bf09ac9724f1935b16a2490050247c2b2b687b4fe312938a999c0df/damm-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d0fd2ecc884a54940819cc3fd55ffeb9", "sha256": "cf6257b663c073d53f915fdcb439b718c202eeb15735a621d4f42b02db236208" }, "downloads": -1, "filename": "damm-1.0.tar.gz", "has_sig": false, "md5_digest": "d0fd2ecc884a54940819cc3fd55ffeb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4019, "upload_time": "2013-12-09T15:49:46", "url": "https://files.pythonhosted.org/packages/5a/2a/c66b8bf09ac9724f1935b16a2490050247c2b2b687b4fe312938a999c0df/damm-1.0.tar.gz" } ] }