tiny_captcha : rust легкий генератор captcha, компилируемый в wasm

Проектная документацияОткрыть в новом окне

Легкий генератор CAPTCHA, опирающийся только на rand и gif, который может быть скомпилирован в wasm.

Основана на библиотеке 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(())
}

Выходные данные показаны :

Обновления:
С сайта: gcxfd