2 releases (1 stable)
1.0.0 | Mar 1, 2024 |
---|---|
0.1.0 | Feb 29, 2024 |
#4 in #internet-computer
131 downloads per month
51KB
330 lines
ic-captcha
ic-captcha is a library that generating CAPTCHAs with given random bytes for the Internet Computer.
It is inspired by captcha-rs.
Usage
See examples and the API documentation for more.
Using mode method
CaptchaBuilder::mode | Captcha Preview |
---|---|
mode(0): dark on light | |
mode(1): colorful on light | |
mode(2): colorful on dark |
Using complexity method
CaptchaBuilder::complexity | Captcha Preview |
---|---|
complexity(1) | |
complexity(5) | |
complexity(10) |
Using compression
Captcha::to_base64 | Captcha Preview |
---|---|
to_base64(10): 1.49KB | |
to_base64(40): 2.68KB | |
to_base64(80): 5.21KB |
Example
Add the following dependency to the Cargo.toml file:
[dependencies]
ic-captcha = "1.0"
And then get started in main.rs
:
use ic_captcha::CaptchaBuilder;
fn main() {
{
let builder = CaptchaBuilder::new();
let captcha = builder.generate(b"random seed 0", None);
println!("text: {}", captcha.text());
println!("base_img: {}", captcha.to_base64(0));
let captcha = builder.generate(b"random seed 1", None);
println!("text: {}", captcha.text());
println!("base_img: {}", captcha.to_base64(0));
}
{
// same as default
let builder = CaptchaBuilder::new()
.length(4)
.width(140)
.height(60)
.mode(1)
.complexity(4);
let captcha = builder.generate(b"random seed 0", None);
println!("text: {}", captcha.text());
println!("base_img: {}", captcha.to_base64(30));
}
}
License
Copyright © 2024-present LDC Labs.
ldclabs/ic-captcha
is licensed under either of Apache License, Version
2.0.
Dependencies
~19MB
~195K SLoC