awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
niieani avatar

niieani/hashids.js

0
View on GitHub↗
4,295 stars·202 forks·TypeScript·MIT·15 viewshashids.org/javascript↗

Hashids.js

hashids.js is a JavaScript library that converts numbers into short, unique strings and decodes them back to their original values. It serves as a two-way numeric encoder that transforms integers into non-sequential strings without requiring the storage of the mapping.

The project provides utilities for masking database primary keys and hexadecimal values to prevent the guessing of sequential resource addresses. It uses custom salts and alphabets to generate formatted identifiers, ensuring that the same numbers produce different strings across different projects.

The library includes capabilities for hexadecimal string masking that preserves leading zeros to maintain consistent character lengths. It also supports custom-length padding to ensure identifiers meet specific minimum character requirements.

Features

  • Numeric Identifier Masking - Encodes integers into obscured strings specifically to hide internal system IDs from end users.
  • Unique Identifier Generators - Provides a utility for generating compact, unique strings from numbers for use as resource identifiers.
  • Resource Identifier Obfuscation - Replaces sequential integer IDs with non-sequential strings to prevent resource guessing and enumeration.
  • Arbitrary Base Conversion - Implements an arbitrary base conversion algorithm to translate numbers into strings using a custom alphabet.
  • Reversible Numeric Encodings - Implements the reversible mathematical logic required to decode masked strings back into their original numeric values.
  • Alphabet Permutation - Uses a secret salt to shuffle the encoding alphabet, ensuring unique identifiers across different project deployments.
  • Numeric Obfuscation Libraries - Provides a specialized JavaScript library for the reversible masking of numeric identifiers.
  • Reversible Numeric Encoders - Implements a two-way encoding system that transforms integers into non-sequential strings without requiring a mapping database.
  • Hexadecimal ID Obfuscations - Masks hexadecimal identifiers into non-sequential strings to hide the original data format.
  • Zero-Preserving Conversions - Ensures hexadecimal strings maintain their original length by preserving leading zeros during the encoding and decoding process.
  • String Obfuscation Encodings - Transforms hexadecimal strings into obfuscated encodings to prevent plain-text analysis of identifiers.
  • URL Identifiers - Generates compact, URL-safe resource identifiers from numbers for a branded and shareable look.

Star history

Star history chart for niieani/hashids.jsStar history chart for niieani/hashids.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Hashids.js

These projects share indexed features with Hashids.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • vinkla/hashidsvinkla avatar

    vinkla/hashids

    5,436View on GitHub↗

    Hashids is a PHP library for the reversible transformation of numeric and hexadecimal database keys into non-sequential, masked alphanumeric identifiers. It functions as a tool to encode numeric database identifiers into short strings and decode them back to their original values. The project focuses on hiding internal database primary keys and sequential record counts in public URLs to prevent data scraping and exposure. It utilizes a secret salt for deterministic mapping and supports customizable character sets to ensure unique identifiers across different projects. The library provides ut

    PHPcomposer-packagesdatabase-idsencoding
    View on GitHub↗5,436
  • dylang/shortiddylang avatar

    dylang/shortid

    5,715View on GitHub↗

    shortid is a library for creating compact, non-sequential strings used as unique identifiers for database records and public URLs. It functions as a URL-friendly identifier utility designed to produce short alphanumeric strings. The project allows for the use of a custom alphabet to control the visual appearance of identifiers and avoid ambiguity. This custom character set mapping ensures that generated keys meet specific formatting or branding requirements. The system includes capabilities for non-sequential key generation to prevent resource enumeration, as well as tools to validate whethe

    JavaScript
    View on GitHub↗5,715
  • jetify-com/typeidjetify-com avatar

    jetify-com/typeid

    3,596View on GitHub↗

    Typeid is a library for generating, encoding, and validating unique identifiers that combine human-readable prefixes with sortable, type-safe suffixes. By integrating descriptive prefixes with standardized binary-to-string conversion, it provides a structured approach to managing identifiers that remain globally unique and consistent across distributed systems. The project distinguishes itself by utilizing time-ordered bit structures and Crockford Base32 encoding to ensure that identifiers are both chronologically sortable and URL-safe. This format allows for the translation of standard 128-b

    Goguidtypeiduuid
    View on GitHub↗3,596
  • rs/xidrs avatar

    rs/xid

    4,277View on GitHub↗

    xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable identifiers. It functions as a stateless generator that creates identifiers without requiring a central coordinator or network synchronization between instances. The project converts binary identifiers into human-readable, case-insensitive Base32 strings, making the output suitable for use in URLs and web applications. It ensures uniqueness across different processes and hosts by combining high-resolution timestamps with machine identifiers. These identifiers are designed for use as d

    Go
    View on GitHub↗4,277
Compare all 30 related projects→

Frequently asked questions

What does niieani/hashids.js do?

hashids.js is a JavaScript library that converts numbers into short, unique strings and decodes them back to their original values. It serves as a two-way numeric encoder that transforms integers into non-sequential strings without requiring the storage of the mapping.

What are the main features of niieani/hashids.js?

The main features of niieani/hashids.js are: Numeric Identifier Masking, Unique Identifier Generators, Resource Identifier Obfuscation, Arbitrary Base Conversion, Reversible Numeric Encodings, Alphabet Permutation, Numeric Obfuscation Libraries, Reversible Numeric Encoders.

Which projects share features with niieani/hashids.js?

Projects with overlapping indexed features include: vinkla/hashids — Hashids is a PHP library for the reversible transformation of numeric and hexadecimal database keys into… dylang/shortid — shortid is a library for creating compact, non-sequential strings used as unique identifiers for database records and… jetify-com/typeid — Typeid is a library for generating, encoding, and validating unique identifiers that combine human-readable prefixes… rs/xid — xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable… shwenzhang/andresguard — AndResGuard is a utility for Android asset optimization, resource shrinking, and resource obfuscation. Its primary… segmentio/ksuid — ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique…