GenerateRandomÚselo con un AWS SDKo CLI - AWS Key Management Service

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.

GenerateRandomÚselo con un AWS SDKo CLI

En los siguientes ejemplos de código, se muestra cómo utilizar GenerateRandom.

CLI
AWS CLI

Ejemplo 1: Para generar una cadena de bytes aleatorios 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 ninguna KMS clave al ejecutar este comando. La cadena de bytes aleatorios no está relacionada con ninguna KMS clave.

De forma predeterminada, AWS KMSgenera 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 AWS Clúster de nube asociado al almacén de claves personalizado. HSM

Este ejemplo utiliza los parámetros y valores siguientes:

Utiliza el --number-of-bytes parámetro necesario con un valor de 32 para solicitar una cadena de 32 bytes (256 bits). Utiliza el --output parámetro con un valor de para dirigir el text AWS CLIpara devolver la salida como texto, en lugar deJSON. Utiliza el --query parameter para extraer el valor de la Plaintext propiedad de la respuesta. Canaliza (|) la salida del comando a la base64 utilidad, que decodifica la salida extraída. Utiliza el operador de redirección (>) para guardar la cadena de bytes decodificada en el ExampleRandom archivo. Utiliza el operador de redirección (>) 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 GenerateRandomAWS APIReferencia del servicio de administración de 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 utilidad certutil 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 \ --output text \ --query Plaintext > 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 archivo ExampleRandom.base64. A continuación, guarda la cadena de bytes decodificada en el archivo ExampleRandom.

certutil -decode ExampleRandom.base64 ExampleRandom

Salida:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Para obtener más información, consulte GenerateRandomen la AWS APIReferencia del servicio de administración de claves.

  • Para API obtener más información, consulte GenerateRandomen AWS CLI Referencia de comandos.

Rust
SDKpara Rust
nota

Hay más información GitHub. Consulta el ejemplo completo y aprende a configurarlo y ejecutarlo en el AWS Repositorio de ejemplos de código.

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 API obtener más información, consulte GenerateRandomen AWS SDKpara API referencia a Rust.

Para obtener una lista completa de AWS SDKguías para desarrolladores y ejemplos de código, consulteUtilización AWS KMS con un AWS SDK. En este tema también se incluye información sobre cómo empezar y detalles sobre SDK las versiones anteriores.