{"id":18950224,"url":"https://github.com/junker/hashids","last_synced_at":"2026-03-19T07:18:43.756Z","repository":{"id":222959335,"uuid":"733794084","full_name":"Junker/hashids","owner":"Junker","description":"Common Lisp system to generate YouTube-like hashes from one or many numbers","archived":false,"fork":false,"pushed_at":"2024-02-26T13:25:24.000Z","size":8,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-01T01:45:38.834Z","etag":null,"topics":["common-lisp","hash","hashids"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Junker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-20T06:23:24.000Z","updated_at":"2024-06-27T17:03:14.000Z","dependencies_parsed_at":"2024-02-26T14:27:48.845Z","dependency_job_id":"a4686b6d-5fd9-4c4d-80dd-f67a68d50387","html_url":"https://github.com/Junker/hashids","commit_stats":null,"previous_names":["junker/hashids"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Junker%2Fhashids","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Junker%2Fhashids/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Junker%2Fhashids/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Junker%2Fhashids/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Junker","download_url":"https://codeload.github.com/Junker/hashids/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239946915,"owners_count":19723018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["common-lisp","hash","hashids"],"created_at":"2024-11-08T13:21:50.316Z","updated_at":"2026-01-26T21:50:00.811Z","avatar_url":"https://github.com/Junker.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hashids\n\nCommon Lisp system to generate YouTube-like hashes from one or many numbers. \nUse hashids when you do not want to expose your database ids to the user.\n\n## Installation\n\nThis system can be installed from [UltraLisp](https://ultralisp.org/) like this:\n\n```lisp\n(ql-dist:install-dist \"http://dist.ultralisp.org/\"\n                      :prompt nil)\n(ql:quickload \"hashids\")\n```\n\n## Usage\n\n```common-lisp\n(defvar *id* (hashids:encode 1 2 3)) ; o2fXhV\n(hashids:decode *id*) ; (1 2 3)\n```\n\nMaking your output ids unique:\n\n```common-lisp\n(let ((hashids:*salt* \"My Project\"))\n  (hashids:encode 1 2 3)) ; Z4UrtW\n\n(let ((hashids:*salt* \"My Other Project\"))\n  (hashids:encode 1 2 3)) ; gPUasb\n```\n\nUse padding to make your output ids longer:\n\n```common-lisp\n(hashids:encode 1) ; jR\n\n(let ((hashids:*min-hash-length* 10))\n  (hashids:encode 1)) ; VolejRejNm\n```\n\nUsing a custom alphabet:\n\n```common-lisp\n(let ((hashids:*alphabet* \"abcdefghijklmnopqrstuvwxyz\"))\n  (hashids:encode 1 2 3)) ; mdfphx\n```\n\n## Curse words! #$%@\n\nThis code was written with the intent of placing the output ids in visible places, like the URL. Therefore, the algorithm tries to avoid generating most common English curse words by generating ids that never have the following letters next to each other:\n\n```\nc, f, h, i, s, t, u\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunker%2Fhashids","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunker%2Fhashids","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunker%2Fhashids/lists"}