A lightweight generator for short, unique, non-sequential and decodable Hashids from non-negative numbers.
Implementation of the Hashids algorithm.
Hashids are obfuscated unique hashes of non-negative (long) integer numbers, but in contrast to cryptographic one-way hash algorithms they are can be decoded again. The algorithm can be used to either generate a hash from a single number or bundling several numbers into one to be stored as simple short UIDs. This design allows to use them for many use-cases like
Numbers like 347
are converted into strings like yr8
, or an array of numbers like [27, 986]
into 3kTMd
.
The algorithm provides the following features:
In addition, the library provides features to
0x
or 0X
prefixed hexadecimal numbers to the public API methodsLong
maximum valuePlease note that most features will break the interoperability with the algorithm reference implementation!
The project documentation contains chapters to learn about the installation and requirements, get an overview of the API and learn how to use it, and build the project and running the tests.
Read the contributing guide to learn about the development process and how to propose enhancement suggestions and report bugs, how to submit pull requests and the project's styleguides, branch organization and versioning model.
The guide also includes information about minimal, complete, and verifiable examples and other ways to contribute to the project like improving existing issues and giving feedback on issues and pull requests.
Copyright © 2016-present Arctic Ice Studio