

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan `GenerateRandom` dengan AWS SDK atau CLI
<a name="example_kms_GenerateRandom_section"></a>

Contoh kode berikut menunjukkan cara menggunakan`GenerateRandom`.

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

**AWS CLI**  
**Contoh 1: Untuk menghasilkan string byte acak 256-bit (Linux atau macOS)**  
`generate-random`Contoh berikut menghasilkan 256-bit (32-byte), string byte acak yang dikodekan base64. Contoh menerjemahkan string byte dan menyimpannya dalam file acak.  
Ketika Anda menjalankan perintah ini, Anda harus menggunakan `number-of-bytes` parameter untuk menentukan panjang nilai acak dalam byte.  
Anda tidak menentukan kunci KMS ketika Anda menjalankan perintah ini. String byte acak tidak terkait dengan kunci KMS apa pun.  
Secara default, AWS KMS menghasilkan nomor acak. Namun, jika Anda menentukan [penyimpanan kunci khusus](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), string byte acak dihasilkan di klaster AWS CloudHSM yang terkait dengan penyimpanan kunci kustom.  
Contoh ini menggunakan parameter dan nilai berikut:  
Ini menggunakan `--number-of-bytes` parameter yang diperlukan dengan nilai `32` untuk meminta string 32-byte (256-bit). Ini menggunakan `--output` parameter dengan nilai untuk `text` mengarahkan AWS CLI untuk mengembalikan output sebagai teks, bukan JSON.Ini menggunakan untuk mengekstrak nilai `Plaintext` properti dari response.It pipa (\$1) output dari perintah `--query parameter` ke `base64` utilitas, yang menerjemahkan output yang diekstraksi.Ini menggunakan operator pengalihan (>) untuk menyimpan string byte yang diterjemahkan ke file. Ini menggunakan operator pengalihan (>) `ExampleRandom` untuk menyimpan ciphertext biner ke file.  

```
aws kms generate-random \
    --number-of-bytes 32 \
    --output text \
    --query Plaintext | base64 --decode > ExampleRandom
```
Perintah ini tidak menghasilkan output.  
Untuk informasi selengkapnya, lihat [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)di *Referensi API Layanan Manajemen AWS Kunci*.  
**Contoh 2: Untuk menghasilkan nomor acak 256-bit (Windows Command Prompt)**  
Contoh berikut menggunakan `generate-random` perintah untuk menghasilkan string byte acak 256-bit (32-byte) yang dikodekan base64. Contoh menerjemahkan string byte dan menyimpannya dalam file acak. Contoh ini sama dengan contoh sebelumnya, kecuali bahwa ia menggunakan `certutil` utilitas di Windows untuk base64-decode string byte acak sebelum menyimpannya dalam file.  
Pertama, buat string byte acak yang dikodekan base64 dan simpan dalam file sementara,. `ExampleRandom.base64`  

```
aws kms generate-random \
    --number-of-bytes 32 \
    --output text \
    --query Plaintext > ExampleRandom.base64
```
Karena output dari `generate-random` perintah disimpan dalam file, contoh ini tidak menghasilkan output.  
Sekarang gunakan `certutil -decode` perintah untuk memecahkan kode string byte yang dikodekan base64 dalam file. `ExampleRandom.base64` Kemudian, ia menyimpan string byte yang diterjemahkan dalam file. `ExampleRandom`  

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

```
Input Length = 18
Output Length = 12
CertUtil: -decode command completed successfully.
```
Untuk informasi selengkapnya, lihat [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)di *Referensi API Layanan Manajemen AWS Kunci*.  
+  Untuk detail API, lihat [GenerateRandom](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/generate-random.html)di *Referensi AWS CLI Perintah*. 

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

**SDK for Rust**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode 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(())
}
```
+  Untuk detail API, lihat [GenerateRandom](https://docs.rs/aws-sdk-kms/latest/aws_sdk_kms/client/struct.Client.html#method.generate_random)*referensi AWS SDK for Rust API*. 

------

Untuk daftar lengkap panduan pengembang AWS SDK dan contoh kode, lihat[Menggunakan layanan ini dengan AWS SDK](sdk-general-information-section.md). Topik ini juga mencakup informasi tentang memulai dan detail tentang versi SDK sebelumnya.