@staticmethod def random_bytes(length: int) -> bytes: """Return `length` cryptographically random bytes.""" return os.urandom(length)
@staticmethod def to_base64(key: bytes) -> str: """Base64 representation for storage/transmission.""" import base64 return base64.b64encode(key).decode('ascii') use rand::RngCore; use rand::rngs::OsRng; /// Generate a cryptographically secure random key of size_bytes . pub fn generate_key(size_bytes: usize) -> Vec<u8> let mut key = vec![0u8; size_bytes]; OsRng.fill_bytes(&mut key); key encryption key generator
@staticmethod def aes_key(bits: int = 256) -> bytes: """Generate a key suitable for AES (128, 192, or 256 bits).""" if bits not in (128, 192, 256): raise ValueError("AES key size must be 128, 192, or 256 bits") return os.urandom(bits // 8) @staticmethod def random_bytes(length: int) ->