#uuid #safe #performance #uuidv1

shortid

uuidv1生成器和变体。安全且快速。

7个稳定版本

1.0.6 2019年12月6日
1.0.5 2019年11月12日
1.0.4 2019年11月8日
1.0.3 2019年11月7日

#1240编码

AGPL-3.0

17KB
322

shortid

示例

use shortid::*;

fn to_string(src:&[u8])->String {
    src
        .into_iter()
        .map(|val| format!("{:0>2x}", val))
        .collect()
}

fn main() {

    let mac = [1,2,3,4,5,6];
    let epoch = 0;

    println!("{}" , to_string(&uuidv1(mac).unwrap()));

    let mac = [1,2,3,4];
    println!("{}" , to_string(&next_short_128(mac).unwrap()));

    let mac = [1,2,3];
    println!("{}" , to_string(&next_short_96(mac,epoch).unwrap()));

    println!("{}" , to_string(&next_short_64(epoch).unwrap()));

}

许可证:AGPL-3.0


lib.rs:

示例

use shortid::*;

fn to_string(src:&[u8])->String {
    src
        .into_iter()
        .map(|val| format!("{:0>2x}", val))
        .collect()
}

fn main() {

    let mac = [1,2,3,4,5,6];
    let epoch = 0;

    println!("{}" , to_string(&uuidv1(mac).unwrap()));

    let mac = [1,2,3,4];
    println!("{}" , to_string(&next_short_128(mac).unwrap()));

    let mac = [1,2,3];
    println!("{}" , to_string(&next_short_96(mac,epoch).unwrap()));

    println!("{}" , to_string(&next_short_64(epoch).unwrap()));

}

依赖项

~315–780KB
~18K SLoC