3 个版本

0.1.2 2022 年 8 月 19 日
0.1.1 2022 年 8 月 18 日
0.1.0 2022 年 8 月 18 日

2181算法

Download history 52/week @ 2024-03-14 23/week @ 2024-03-21 52/week @ 2024-03-28 64/week @ 2024-04-04 55/week @ 2024-04-11 54/week @ 2024-04-18 59/week @ 2024-04-25 97/week @ 2024-05-02 98/week @ 2024-05-09 149/week @ 2024-05-16 177/week @ 2024-05-23 205/week @ 2024-05-30 268/week @ 2024-06-06 116/week @ 2024-06-13 246/week @ 2024-06-20 196/week @ 2024-06-27

872 每月下载量
basic_trie 中使用

MIT 许可证

115KB
1.5K SLoC

Randomizer

pipeline status coverage report Latest Release

Randomizer 提供了一个简单的随机信息创建实现,例如随机字符串和字节。Rust 有很多随机化库。它们通常要么使用复杂且安全,要么易于使用但与代码有重大差异,例如使用不安全的函数或解包潜在的 Error 数据。因此,我创建了此库来解决这个问题。

生成。

有两种(实际上三种)类型的字节生成。基本概念是生成随机字节,用于 UTF8 字符串和字节或字节序列。此生成器将字符或字节的序列拆分,并从组合序列中生成一系列随机字节。如果字节序列是从有效的 UTF8 字符串生成的,则每个字符都可以分开,用于生成一系列有效的字节序列。这允许字节到 UTF8 的转换几乎无懈可击。

这也意味着如果系统提供一组单词,生成器可以将这些单词随机组合成序列。

用法

生成字符串

use randomizer::Randomizer;

let string = Randomizer::ALPHANUMERIC(6).string().unwrap();
assert_eq!(string.chars().count(), 6);
let string = Randomizer::new(6, Some("u")).string().unwrap();

assert_eq!(string, "uuuuuu");

生成字节值

use randomizer::{Charset, Randomizer};

let bytes = Randomizer::new(6, Some(Charset::AnyByte)).bytes().unwrap();

assert_eq!(bytes.len(), 6);

生成自定义单词字符串

use randomizer::{Charset, Randomizer};

let string = Randomizer::new(6, Some(vec!["foo","bar"])).string().unwrap();

assert_eq!(string.chars().count(), 18);

使用常量简单生成字符串

可以使用不同类型的简化函数生成字符串

use randomizer::{Randomizer};

let string = Randomizer::ALPHABETICAL(6).string().unwrap();

assert_eq!(string.chars().count(), 6);

依赖关系

~35KB