Crate uuid_readable_rs[−][src]
Expand description
Generate easy to remember sentences that acts as human readable UUIDs.
- Built on UUID v4
- Optionally pass your UUID to derive a sentence from it
- Grammatically correct sentences
- Easy to remember (or at least part of it)
- Size choice (32-bit token or 128-bit token using
short()orgenerate()respectively)
Security
This project does not mean to be crypto safe ! Don’t use this as a secure random generator.
Even if we derive sentences from UUID (that are crypto safe), there can still be some collision with 2 differents UUID but resulting in the same sentence.
25^12possible combinations forgenerate()(uses 128-bit Token)25^5possible combinations forshort()(uses 32-bit Token)
Note that the sentence generated by generate() and the original UUID form a bijection, hence no loss of entropy.
Example
use uuid::Uuid; use uuid_readable_rs::{generate_from, short_from, generate, short, generate_inverse}; // You can define your own UUID and pass it to uuid_readable_rs like so let uuid = Uuid::new_v4(); let sentence_128: String = generate_from(uuid); let sentence_32: String = short_from(uuid); // You can also get an UUID from a sentence that was previously generated let original_uuid: Uuid = generate_inverse(sentence_128).unwrap(); assert_eq!(uuid, original_uuid); // Or let uuid_readable_rs handle the Uuid generation let sentence_128: String = generate(); let sentence_32: String = short();
Functions
Create a long sentence using a new random UUID.
Derive a long sentence from a UUID.
Get the original uuid from a sentence.
Create a short sentence using a new random UUID.
Derive a short sentence from a UUID.