

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo `GenerateRandom` con un AWS SDK o una CLI
<a name="example_kms_GenerateRandom_section"></a>

Gli esempi di codice seguenti mostrano come utilizzare `GenerateRandom`.

------
#### [ CLI ]

**AWS CLI**  
**Esempio 1: come generare una stringa di byte casuali a 256 bit (Linux o macOS)**  
L’esempio `generate-random` seguente genera una stringa di byte casuali a 256 bit (32 byte) crittografata in formato Base64. L’esempio decodifica la stringa di byte e la salva in un file casuale.  
Quando esegui questo comando, devi utilizzare il parametro `number-of-bytes` per specificare la lunghezza del valore casuale in byte.  
Non viene specificata una chiave KMS quando si esegue questo comando. La stringa di byte casuali non è correlata ad alcuna chiave KMS.  
Per impostazione predefinita, AWS KMS genera il numero casuale. Tuttavia, se si specifica un [key store personalizzato](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), la stringa di byte casuale viene generata nel cluster AWS CloudHSM associato all'archivio chiavi personalizzato.  
Questo esempio utilizza i seguenti parametri e valori:  
Utilizza il `--number-of-bytes` parametro richiesto con un valore di `32` per richiedere una stringa da 32 byte (256 bit). Utilizza il `--output` parametro con un valore di per `text` indirizzare la AWS CLI a restituire l'output come testo, anziché JSON.Utilizza il per estrarre il valore della `Plaintext` proprietà da Response.it invia (\$1) l'output del comando `--query parameter` all'`base64`utilità, che decodifica l'output estratto.Utilizza l'operatore di reindirizzamento (>) per salvare la decodifica stringa di byte aggiunta al file.Utilizza l'operatore di reindirizzamento (>) `ExampleRandom` per salvare il testo cifrato binario in un file.  

```
aws kms generate-random \
    --number-of-bytes 32 \
    --output text \
    --query Plaintext | base64 --decode > ExampleRandom
```
Questo comando non produce alcun output.  
Per ulteriori informazioni, vedere [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)nel *AWS Key Management Service API* Reference.  
**Esempio 2: come generare un numero casuale a 256 bit (prompt dei comandi di Windows)**  
L’esempio seguente utilizza il comando `generate-random` per generare una stringa di byte casuali a 256 bit (32 byte) crittografata in formato Base64. L’esempio decodifica la stringa di byte e la salva in un file casuale. Questo esempio è uguale all’esempio precedente tranne per il fatto che utilizza l’utilità `certutil` in Windows per decodificare in formato Base64 una stringa di byte casuali prima di salvarla in un file.  
Genera innanzitutto una stringa di byte casuali crittografata in formato Base64 e la salva nel file temporaneo `ExampleRandom.base64`.  

```
aws kms generate-random \
    --number-of-bytes 32 \
    --output text \
    --query Plaintext > ExampleRandom.base64
```
Poiché l’output del comando `generate-random` viene salvato in un file, questo esempio non produce alcun output.  
Ora utilizza il comando `certutil -decode` per decrittografare la stringa di byte crittografata in formato Base64 nel file `ExampleRandom.base64`. Quindi, salva la stringa di byte decodificata nel file `ExampleRandom`.  

```
certutil -decode ExampleRandom.base64 ExampleRandom
```
Output:  

```
Input Length = 18
Output Length = 12
CertUtil: -decode command completed successfully.
```
Per ulteriori informazioni, vedere [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)nel *AWS Key Management Service API Reference*.  
+  Per i dettagli sull'API, consulta [GenerateRandom AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/generate-random.html)*Command Reference*. 

------
#### [ Rust ]

**SDK per Rust**  
 C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/kms#code-examples). 

```
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(())
}
```
+  Per i dettagli sulle API, consulta la [GenerateRandom](https://docs.rs/aws-sdk-kms/latest/aws_sdk_kms/client/struct.Client.html#method.generate_random)guida di *riferimento all'API AWS SDK for Rust*. 

------

Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consulta. [Utilizzo di questo servizio con un AWS SDK](sdk-general-information-section.md) Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell’SDK.