Hashids یک کتابخانه متن باز و کوچیکه که شناسه هایی کوتاه، منحصر به فرد و غیر متوالی از اعداد را تولید میکند.
به عنوان مثال عدد 347 تبدیل به رشته ی “yr8” یا آرایه ای شامل اعداد [27, 986] تبدیل به “3kTMd” میشه.
شما همچنین میتونید شناسه ها رو decode کنید، یعنی رشته های تولید شده به وسیله Hashids برگشت پذیر خواهند بود. حتی طول رشته تولید شده قابل تعریفه.
مثالی که توی وب شاید بارها دیدین:
https://url.ir/lqY9X
قابلیت ها.
ایجاد شناسه های کوتاه، منحصر به فرد و قابل بازگشت از اعداد مثبت و صفر.
سفارشی سازی با استفاده از salt.
طول رشته تولید شده افزایشی هست. قبلا گفتم میتونید طول Hash رو تعریف کنید اما این موضوع بستگی به اعداد شما و salt هم داره و ممکنه به این دو علت و ماندگاری Hash زیادتر بشه.
حجم کمی داره(حدود 350 خط کد)، سریع هست و به کتابخانه دیگری وابستگی نداره.
نمونه کد PHP:
$hashids = new Hashids\Hashids('this is my salt');
$id = $hashids->encode(1, 2, 3);
$numbers = $hashids->decode($id);
این کتابخانه برای زبان های برنامه نویسی JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Perl 6, Swift, Clojure, Objective-C, C, C++11, D, F#, Go, Erlang, Lua, Haskell, Elixir, Rust, Smalltalk, ColdFusion, Groovy, Kotlin, Nim, VBA, Haxe, Elm, ActionScript, CoffeeScript, Bash, R, TSQL و .NET قابل استفاده است.
شما میتونید جهت مطالعه بیشتر به وبسایت Hashids مراجعه کنید
hashids