Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/go-compile/mim

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. For both terminals (ANSI) and desktop, mobile & web (SVG).
https://github.com/go-compile/mim

ansi crypto cryptography fingerprint hash image randoart ssh svg verification visualization x509

Last synced: 2 days ago
JSON representation

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. For both terminals (ANSI) and desktop, mobile & web (SVG).

Awesome Lists containing this project

README

        

# MIM (Minimal Identity Mozaic)

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

[\[ Go Implementation \]](https://github.com/go-compile/mim)
[\[ Rust Implementation \]](https://github.com/go-compile/mim-rs)

## Properties
- Pre Image Resistant
- Fixed Length Output
- Collision Resistant
- Fast & Efficient
- Customisable CHF
- Identical Colours Cross Platform

## Output

MIM outputs coloured **ANSI escape codes** or **SVGs**.

![MIM Mozaic output](./.github/images/mim2.png)

## Example

```go
package main

import (
"crypto/sha256"
"fmt"

"github.com/go-compile/mim"
)

func main() {
fingerprint := sha256.Sum256([]byte("certificate contents would typically go here"))

fmt.Printf("Fingerprint: %X\n\n", fingerprint)

fmt.Println(mim.New(fingerprint[:], sha256.New).ANSI())
}
```