IdCraft.js: βιβλιοθήκη javascript για δημιουργία και έλεγχο UUID (v4, v7) και NanoID
Το IdCraft.js είναι μια βιβλιοθήκη JavaScript για τη δημιουργία και την ανάλυση κρυπτογραφικά ισχυρών αναγνωριστικών. Σχεδιάστηκε ως ένα αυτόνομο (zero-dependency) module, προσφέροντας μια ενιαία διεπαφή για τα πρότυπα NanoID και UUID.
Βασικές Λειτουργίες
Η βιβλιοθήκη επικεντρώνεται σε τρεις κεντρικούς πυλώνες:
1. Παραγωγή UUID (v4 και v7)
Πέρα από το καθιερωμένο τυχαίο UUID v4, το IdCraft.js υποστηρίζει το νεότερο πρότυπο v7. Τα αναγνωριστικά v7 ενσωματώνουν πληροφορία χρόνου (timestamp), γεγονός που επιτρέπει τη χρονική τους ταξινόμηση και βελτιώνει την απόδοση της ευρετηρίασης σε βάσεις δεδομένων. Για τη δημιουργία των v4, η βιβλιοθήκη χρησιμοποιεί τη native μέθοδο crypto.randomUUID() όπου αυτή είναι διαθέσιμη, εξασφαλίζοντας βέλτιστες επιδόσεις.
2. Παραγωγή NanoID
Επιτρέπει τη δημιουργία σύντομων και URL-friendly αναγνωριστικών με πλήρως παραμετροποιήσιμο μήκος και αλφάβητο. Η υλοποίηση περιλαμβάνει ελέγχους για την αποφυγή του modulo bias, διασφαλίζοντας την απόλυτα ομοιόμορφη κατανομή των χαρακτήρων.
3. Επιθεώρηση και Ανάλυση (Inspection)
Ένα ιδιαίτερο χαρακτηριστικό της βιβλιοθήκης είναι η δυνατότητα «αποδόμησης» υπαρχόντων UUIDs. Ο ενσωματωμένος inspector αναγνωρίζει την έκδοση του ID και εξάγει πολύτιμα μεταδεδομένα, όπως:
- Την ακριβή ημερομηνία και ώρα δημιουργίας (για v1 και v7).
- Τον σχετικό χρόνο από τη δημιουργία τους (relative time, π.χ. "πριν 5 λεπτά").
- Πληροφορίες υλικού Node/MAC (για v1).
Τεχνικά Χαρακτηριστικά
- Ασφάλεια: Αποκλειστική χρήση του Web Crypto API (
crypto.getRandomValues) για την εξασφάλιση υψηλής εντροπίας. - Αυτονομία: Μηδενικές εξωτερικές εξαρτήσεις (zero dependencies), διευκολύνοντας την ενσωμάτωση χωρίς επιβάρυνση του project.
- Πρότυπα: Πλήρης συμβατότητα με τα επίσημα RFC πρότυπα για UUIDs.
Άδεια και Χρήση
Το IdCraft.js είναι λογισμικό ανοικτού κώδικα και διατίθεται υπό την άδεια GNU GPL v3.0 or later. Μπορείτε να δοκιμάσετε τις δυνατότητές του live μέσω των online εργαλείων: