#sha-1 #representation #identifier #data #uuid #hash #ids

okid

A library for gereating double clickable ids

10 releases

new 0.1.37 Oct 21, 2024
0.1.36 Oct 14, 2024

#571 in Cryptography

Download history 358/week @ 2024-09-30 222/week @ 2024-10-07 261/week @ 2024-10-14

841 downloads per month

BSD-3-Clause

455KB
964 lines

okid

okid is a library for generating double clickable representations of various types of data, such as sha1 hashes, uuids and more.

sha1

use sha1::Digest as sha1digest;
let hasher = sha1::Sha1::new();
let binary_id = okid::OkId::from(hasher);

sha256

use sha2::Digest;
let mut hasher = sha2::Sha256::new();
hasher.update(b"hello world");
let binary_id = okid::OkId::from(hasher);

The resulting strings look like this: 2ː00b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 first character of the string is the type of the binary data in this case 2 means sha256 the rest of the string is the hexadecimal representation of the binary data


lib.rs:

okid is a library for generating cannocial self-describing binary identifiers for git commits, sha1, sha256, sha512 hashes, ULIDs, UUIDs, datatime, extended, and random identifiers, etc. okid binary identifier

Examples

sha1

use sha1::Digest as sha1digest;
let hasher = sha1::Sha1::new();
let binary_id = okid::OkId::from(hasher);

sha256

use sha2::Digest;
let mut hasher = sha2::Sha256::new();
hasher.update(b"hello world");
let binary_id = okid::OkId::from(hasher);

The resulting strings look like this: 2ː00b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 first character of the string is the type of the binary data in this case 2 means sha256 the rest of the string is the hexadecimal representation of the binary data

Dependencies

~12–27MB
~411K SLoC