2026-02-20 14:54:12 -07:00
|
|
|
mod aes_decrypt;
|
|
|
|
|
mod aes_encrypt;
|
2026-02-09 10:27:15 -07:00
|
|
|
#[allow(dead_code)]
|
2026-02-20 14:54:12 -07:00
|
|
|
mod base62;
|
2025-11-10 22:18:21 -07:00
|
|
|
|
2026-02-20 14:54:12 -07:00
|
|
|
// Exports
|
|
|
|
|
pub use aes_decrypt::{decrypt_aes, decrypt_aes_lines};
|
|
|
|
|
pub use aes_encrypt::{encrypt_aes, encrypt_aes_lines};
|
|
|
|
|
pub use base62::Base62;
|
2025-11-10 22:18:21 -07:00
|
|
|
|
|
|
|
|
pub const STATIC_IV: [u8; 16] = [
|
|
|
|
|
0x6d, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x76, 0x5f, 0x30, 0x31, 0x32,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
pub const STATIC_BYTE_MAP: [u8; 256] = [
|
|
|
|
|
58, 177, 23, 16, 227, 134, 93, 239, 201, 3, 74, 162, 228, 195, 126, 157, 136, 57, 98, 86, 175,
|
|
|
|
|
111, 71, 39, 205, 49, 139, 116, 143, 182, 250, 222, 59, 36, 18, 79, 37, 84, 190, 42, 7, 142,
|
|
|
|
|
167, 168, 105, 54, 218, 230, 203, 83, 52, 129, 144, 184, 41, 73, 29, 72, 128, 75, 160, 149, 20,
|
|
|
|
|
32, 207, 155, 131, 125, 199, 220, 56, 76, 94, 78, 247, 214, 165, 33, 19, 241, 69, 206, 172,
|
|
|
|
|
113, 225, 90, 150, 242, 107, 232, 8, 77, 100, 187, 240, 104, 31, 180, 53, 253, 63, 192, 252,
|
|
|
|
|
30, 140, 158, 1, 210, 24, 44, 243, 145, 197, 80, 202, 65, 196, 45, 51, 11, 55, 236, 186, 22,
|
|
|
|
|
224, 118, 200, 204, 153, 114, 117, 229, 47, 159, 96, 219, 234, 183, 13, 70, 81, 137, 46, 211,
|
|
|
|
|
254, 255, 127, 138, 246, 87, 61, 89, 189, 66, 208, 221, 85, 251, 188, 43, 248, 102, 146, 170,
|
|
|
|
|
132, 213, 178, 103, 62, 92, 27, 6, 38, 122, 185, 181, 215, 12, 179, 4, 169, 226, 209, 0, 112,
|
|
|
|
|
154, 120, 17, 101, 64, 194, 193, 212, 198, 121, 135, 99, 115, 244, 14, 133, 26, 156, 10, 5,
|
|
|
|
|
238, 163, 164, 25, 88, 95, 152, 40, 108, 216, 21, 109, 2, 123, 233, 237, 235, 119, 60, 82, 191,
|
|
|
|
|
68, 151, 161, 124, 48, 35, 249, 171, 50, 141, 166, 34, 15, 176, 97, 148, 147, 91, 9, 28, 223,
|
|
|
|
|
67, 130, 217, 231, 106, 245, 110, 173, 174,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
use sha2::{Digest, Sha256};
|
|
|
|
|
|
|
|
|
|
pub fn hash(input: &[u8]) -> [u8; 32] {
|
|
|
|
|
let mut hasher = Sha256::new();
|
|
|
|
|
hasher.update(input);
|
|
|
|
|
hasher.finalize().into()
|
|
|
|
|
}
|