36 releases (11 breaking)
0.12.2 | Feb 25, 2025 |
---|---|
0.11.1 | Feb 19, 2025 |
0.5.3 | Nov 21, 2024 |
#249 in Cryptography
1,544 downloads per month
760KB
1.5K
SLoC

okid
okid
is a library for generating double clickable representations of various types of data,
such as sha1
hashes, uuid
s and more.
sha1
#[cfg(feature = "sha1")]
{
use sha1::Digest as sha1digest;
let hasher = sha1::Sha1::new();
let binary_id = okid::OkId::from(hasher);
}
sha256
#[cfg(feature = "sha2")]
{
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
okid macro
The okid!
macro can be used to parse OkId
s from string literals at compile time.
use okid::{okid, OkId};
#[cfg(feature = "sha2")]
const HELLO_WORLD_SHA256: OkId = okid!("2ːb94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9");
License
Dependencies
~12–27MB
~371K SLoC