darkwing/server/utils/
php_like.rsuse crate::server::error::AppResult;
use base64::{prelude::BASE64_STANDARD, Engine};
use sha2::Digest;
pub fn sha256(input: &str) -> String {
let mut hasher = sha2::Sha256::new();
hasher.update(input.as_bytes());
hex::encode(hasher.finalize())
}
pub fn aes128_encrypt(
key: &[u8; 16],
data: &str,
iv: &[u8; 16],
) -> AppResult<String> {
let data = data.as_bytes();
let cipher = libaes::Cipher::new_128(key);
let encrypted = cipher.cbc_encrypt(iv, data);
let base64_encoded = BASE64_STANDARD.encode(encrypted);
Ok(sha256(&base64_encoded))
}