mim

Crates.iomim
lib.rsmim
version0.1.0
sourcesrc
created_at2022-12-29 11:27:31.376361
updated_at2022-12-29 11:27:31.376361
descriptionMIM is a Hash Visualization algorithm utilising 4x4 colour matrixes. This provides a quick and easy method to compare fingerprints, e.g. SSH keys, x509 certs etc.
homepage
repositoryhttps://github.com/go-compile/mim-rs
max_upload_size
id747265
size33,937
Go Compile (go-compile)

documentation

README

MIM-RS (Minimal Identity Mozaic)

A rusty implementation.

MIM is a Hash Visualization algorithm utilising 4x4 colour matrixes. This provides a quick and easy method to compare fingerprints, e.g. SSH keys, x509 certs etc.

[ Go Implementation ] [ Rust Implementation ]

Properties

  • Pre Image Resistant
  • Fixed Length Output
  • Collision Resistant
  • Fast & Efficient
  • Identical Colours Cross Platform

Output

MIM outputs coloured ANSI escape codes.

Mim Rust Image

Example

use mim::{Mozaic};
use sha2::{Sha256,Digest};
use hex;

fn main() {
	// create the fingerprint in the typical way
	let mut hasher = Sha256::new();
    hasher.update("certificate contents would typically go here");
    let fingerprint = hasher.finalize();

	// provide the fingerprint to MIM
    let moz = Mozaic::new(&fingerprint);

	// print fingerprint
    println!("Fingerprint: {}", hex::encode(&fingerprint));

	// print Mozaic as ASNI
    println!("\n{}", &moz.ansi());
}
Commit count: 20

cargo fmt