Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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).
- Host: GitHub
- URL: https://github.com/go-compile/mim
- Owner: go-compile
- License: mit
- Created: 2022-12-28T11:27:15.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-29T11:39:49.000Z (almost 2 years ago)
- Last Synced: 2024-06-21T04:55:40.903Z (5 months ago)
- Topics: ansi, crypto, cryptography, fingerprint, hash, image, randoart, ssh, svg, verification, visualization, x509
- Language: Go
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 mainimport (
"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())
}
```