< 返回版块

gcxfd 发表于 2022-06-24 20:02

轻量级验证码生成器,仅依赖于 rand 和 gif ,可以编译成 wasm 。

Ivan Tikhonov 的验证码库 的基础上,用 c2rust 转代码后改写。

字体文件来自 https://github.com/ITikhonov/captcha/blob/master/font.h ,是 ASCII 艺术字 , make 之后用 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(())
}

输出展示 :


Ext Link: https://rmw.link/zh/log/2022-06-24_tiny_captcha.html

评论区

写评论
Mike Tang 2022-06-26 21:34

cool

1 共 1 条评论, 1 页