Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Úselo GenerateRandom
con un AWS SDK o CLI
En los siguientes ejemplos de código, se muestra cómo utilizar GenerateRandom
.
- CLI
-
- AWS CLI
-
Ejemplo 1: Generación de una cadena de bytes aleatoria de 256 bits (Linux o macOS)
En el siguiente ejemplo de
generate-random
se genera una cadena de bytes aleatoria de 256 bits (32 bytes) codificada en base64. El ejemplo decodifica la cadena de bytes y la guarda en el archivo aleatorio.Al ejecutar este comando, debe usar el parámetro
number-of-bytes
para especificar la longitud del valor aleatorio en bytes.No se especifica una clave de KMS cuando se ejecuta este comando. La cadena de bytes aleatoria no está relacionada con ninguna clave de KMS.
De forma predeterminada, AWS KMS genera el número aleatorio. Sin embargo, si especifica un almacén de claves personalizado< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, la cadena de bytes aleatoria se genera en el clúster de AWS CloudHSM asociado al almacén de claves personalizado.
Este ejemplo utiliza los parámetros y valores siguientes:
Utiliza el
--number-of-bytes
parámetro necesario con un valor de32
para solicitar una cadena de 32 bytes (256 bits). Utiliza el--output
parámetro con un valor de paratext
indicar a la AWS CLI que devuelva la salida como texto, en lugar de JSON. Utiliza el para extraer el valor de laPlaintext
propiedad de la respuesta. Canaliza (|) la salida del comando--query parameter
a labase64
utilidad, que decodifica la salida extraída. Utiliza el operador de redirección (>) para guardar el byte decodificado cadena al archivo. Utiliza el operador de redirección (>)ExampleRandom
para guardar el texto cifrado binario en un archivo.aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom
Este comando no genera ninguna salida.
Para obtener más información, consulte la referencia de GenerateRandomla API del Servicio de administración de AWS claves.
Ejemplo 2: Generación de un número aleatorio de 256 bits (símbolo del sistema de Windows)
En el siguiente ejemplo se utiliza el comando
generate-random
para generar una cadena de bytes aleatoria codificada en base64 de 256 bits (32 bytes). El ejemplo decodifica la cadena de bytes y la guarda en el archivo aleatorio. Este ejemplo es igual al anterior, excepto que usa la utilidadcertutil
de Windows para decodificar en base64 la cadena de bytes aleatoria antes de guardarla en un archivo.En primer lugar, genere una cadena de bytes aleatoria codificada en base64 y guárdela en un archivo temporal,
ExampleRandom.base64
.aws kms generate-random \ --number-of-bytes
32
\ --outputtext
\ --queryPlaintext
>
ExampleRandom.base64
Puesto que el resultado del comando
generate-random
se guarda en un archivo, este ejemplo no produce ningún resultado.Ahora utilice el comando
certutil -decode
para decodificar la cadena de bytes codificada en base64 del archivoExampleRandom.base64
. A continuación, guarda la cadena de bytes decodificada en el archivoExampleRandom
.certutil -decode ExampleRandom.base64 ExampleRandom
Salida:
Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.
Para obtener más información, consulte la referencia GenerateRandomde la API del Servicio de administración de AWS claves.
-
Para obtener más información sobre la API, consulte GenerateRandom
la Referencia de AWS CLI comandos.
-
- Rust
-
- SDK para Rust
-
nota
Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. async fn make_string(client: &Client, length: i32) -> Result<(), Error> { let resp = client .generate_random() .number_of_bytes(length) .send() .await?; // Did we get an encrypted blob? let blob = resp.plaintext.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }
-
Para obtener más información sobre la API, consulta GenerateRandom
la referencia sobre la API de AWS SDK para Rust.
-
Para obtener una lista completa de guías para desarrolladores del AWS SDK y ejemplos de código, consulteUso de este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.