sebsauvage.net

Ce site n'est pas le site officiel.
C'est un blog automatisé qui réplique les articles automatiquement

GitHub - ai/nanoid: A tiny (108 bytes), secure, URL-friendly, unique string ID generator for JavaScript

Monday 2 August 2021 at 13:50

Superbe !
Je cherchais un moyen de générer des UUID, mais de manière plus compacte (j'ai un projet où je suis contraint à 20 caractères).
NanoID est juste parfait:
- on peut spécifier la longueur (en caractères) de la chaîne à générer.
- on peut spécifier l'alphabet utilisé.
C'est donc une alternative très intéressante aux UUID.
Il y a même un calculateur de risque de collision en fonction de la longueur choisie et de l'alphabet : https://zelark.github.io/nano-id-cc/
En augmentant l'alphabet utilisé, on peut même arriver à un risque de collision inférieur aux UUIDs pour une taille plus compacte.

Il y a des version de l'algo en Javascript, Java, Rust, Python, php, Ruby...
La version java (https://github.com/aventrix/jnanoid) ne fait que 134 lignes:  https://github.com/aventrix/jnanoid/blob/develop/src/main/java/com/aventrix/jnanoid/jnanoid/NanoIdUtils.java
(Permalink)

Source: https://github.com/ai/nanoid