Sqids는 숫자로부터 짧은 고유 식별자를 생성할 수 있는 오픈 소스 라이브러리입니다. 이 ID들은 URL에 안전하며 여러 숫자를 인코딩할 수 있으며 일반적인 욕설 단어를 포함하지 않습니다. 더 보기 .
이것이 그들이 보이는 모습입니다:
빠른 인코딩 및 디코딩 예제:
val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)
ID가 너무 짧으면 특정 길이로 패딩할 수 있습니다:
Sqids
.withMinLength(10)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
알파벳을 섞어 고유한 ID 생성하기:
Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.flatMap(Sqids.forAlphabet)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
전체 문서는 여기에서 확인할 수 있습니다. https://github.com/sqids/sqids-scala
원래 Hashids Scala을 찾고 계시다면, 여기에서 찾을 수 있습니다: https://github.com/newhoggy/hashids-scala
Sqids의 주요 사용 용도는 순수하게 시각적입니다. 프로젝트에서 숫자 대신 ID를 사용하고 싶다면, Sqids은 좋은 선택일 수 있습니다.