Gunakan GenerateRandom dengan AWS SDK atau CLI - AWS Key Management Service

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

Contoh kode berikut menunjukkan cara menggunakanGenerateRandom.

CLI
AWS CLI

Contoh 1: Untuk menghasilkan string byte acak 256-bit (Linux atau) macOs

generate-randomContoh 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 KMS kunci ketika Anda menjalankan perintah ini. String byte acak tidak terkait dengan KMS kunci apa pun.

Secara default, AWS KMS menghasilkan nomor acak. Namun, jika Anda menentukan penyimpanan kunci kustom< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, string byte acak dihasilkan di HSM klaster AWS Cloud yang terkait dengan penyimpanan kunci khusus.

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 text untuk mengarahkan untuk mengembalikan output sebagai teks, bukan JSON .Ini menggunakan AWS CLI untuk mengekstrak nilai Plaintext properti dari response.It pipa (|) output dari perintah --query parameter ke base64 utilitas, yang menerjemahkan output yang diekstraksi.Ia menggunakan operator pengalihan (>) untuk menyimpan decoded byte string ke file.It menggunakan ExampleRandom operator redirection (>) 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 GenerateRandomdi APIReferensi Layanan Manajemen AWS Utama.

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 GenerateRandomdi APIReferensi Layanan Manajemen AWS Utama.

  • Untuk API detailnya, lihat GenerateRandomdi Referensi AWS CLI Perintah.

Rust
SDKuntuk Rust
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode 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(()) }

Untuk daftar lengkap panduan AWS SDK pengembang dan contoh kode, lihatMenggunakan layanan ini dengan AWS SDK. Topik ini juga mencakup informasi tentang memulai dan detail tentang SDK versi sebelumnya.