Sqids는 숫자로부터 짧은 고유 식별자를 생성할 수 있는 오픈 소스 라이브러리입니다. 이 ID들은 URL에 안전하며 여러 숫자를 인코딩할 수 있으며 일반적인 욕설 단어를 포함하지 않습니다. 더 보기 .
이것이 그들이 보이는 모습입니다:
빠른 인코딩 및 디코딩 예제:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07"
sqids_decode(sqids, hash, nums, 3); // => 3
ID가 너무 짧으면 특정 길이로 패딩할 수 있습니다:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 10, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07xd4z"
sqids_decode(sqids, hash, nums, 3); // => 3
알파벳을 섞어 고유한 ID 생성하기:
sqids_t *sqids = sqids_new("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt", 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "XRKUdQ"
sqids_decode(sqids, hash, nums, 3); // => 3
전체 문서는 여기에서 확인할 수 있습니다. https://github.com/sqids/sqids-c
원래 Hashids C을 찾고 계시다면, 여기에서 찾을 수 있습니다: https://github.com/tzvetkoff/hashids.c
Sqids의 주요 사용 용도는 순수하게 시각적입니다. 프로젝트에서 숫자 대신 ID를 사용하고 싶다면, Sqids은 좋은 선택일 수 있습니다.