tiny_captcha : wasm にコンパイル可能な rust 軽量キャプチャジェネレータ
rand と gif にのみ依存する軽量な CAPTCHA ジェネレータで、wasm にコンパイルすることができます。
Ivan Tikhonov氏のCAPTCHA ライブラリをベースに、 c2rustで 書き直したものです。
フォントファイルは https://github.com/ITikhonov/captcha/blob/master/font.h のもので、ASCIIアートワークを作成し、unfontを使って配列に生成したものです。
デモをご利用ください。
use anyhow::Result;
use std::{env::current_exe, fs::File};
use tiny_captcha::gif;
fn main() -> Result<()> {
for i in 1..=10 {
let exe = current_exe()?;
let gif_path = exe.parent().unwrap().join(format!("{}.gif", i));
let word = gif(&mut File::create(&gif_path)?);
println!("{} {}", word, gif_path.display());
}
Ok(())
}
出力は以下の通りです。