Sqids이란 무엇인가요?

Sqids는 숫자로부터 짧은 고유 식별자를 생성할 수 있는 오픈 소스 라이브러리입니다. 이 ID들은 URL에 안전하며 여러 숫자를 인코딩할 수 있으며 일반적인 욕설 단어를 포함하지 않습니다. 더 보기 .

이것이 그들이 보이는 모습입니다:

https://example.com/Lqj8a0

빠른 인코딩 및 디코딩 예제:

let sqids = Sqids::default();
let id = sqids.encode(&[1, 2, 3])?; // "86Rf07"
let numbers = sqids.decode(&id); // [1, 2, 3]

ID가 너무 짧으면 특정 길이로 패딩할 수 있습니다:

let sqids = Sqids::builder()
  .min_length(10)
  .build()?;
let id = sqids.encode(&[1, 2, 3])?; // "86Rf07xd4z"
let numbers = sqids.decode(&id); // [1, 2, 3]

알파벳을 섞어 고유한 ID 생성하기:

let sqids = Sqids::builder()
  .alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt".chars().collect())
  .build()?;
let id = sqids.encode(&[1, 2, 3])?; // "XRKUdQ"
let numbers = sqids.decode(&id); // [1, 2, 3]

전체 문서는 여기에서 확인할 수 있습니다. https://github.com/sqids/sqids-rust

원래 Hashids Rust을 찾고 계시다면, 여기에서 찾을 수 있습니다: https://github.com/archer884/harsh

사용 사례

Sqids의 주요 사용 용도는 순수하게 시각적입니다. 프로젝트에서 숫자 대신 ID를 사용하고 싶다면, Sqids은 좋은 선택일 수 있습니다.

좋음

  • 주 키 인코딩 관계형 데이터베이스를 사용하는 경우
  • 데이터베이스 조회 저장 여러 객체 인코딩을 통해
  • 임시 로그인 토큰 욕설 없는 URL 안전

부적합함

  • 민감한 데이터 이것은 암호화 라이브러리가 아닙니다
  • 사용자 ID 인코딩 알파벳을 알아내면 사용자 수를 공개할 수 있음

기능

  • 🆔 음수가 아닌 숫자로부터 짧은 ID 생성
  • 쉬운 인코딩 및 디코딩
  • 🫣 자동 생성된 ID에는 일반적인 욕설이 포함되지 않음
  • 🎲 셔플된 알파벳을 통한 사용자 정의 ID 지원
  • 🥳 44 통합 (75% 는 새로운 디자인을 사용합니다)
  • 📌 모든 버전은 동일한 ID를 생성함
  • 🍻 허용 라이선스를 가진 소규모 라이브러리

예제 / 플레이그라운드