Use GenerateRandom com um AWS SDK ou CLI - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use GenerateRandom com um AWS SDK ou CLI

Os exemplos de código a seguir mostram como usar o GenerateRandom.

CLI
AWS CLI

Exemplo 1: Para gerar uma string de bytes aleatória de 256 bits (Linux ou) macOs

O exemplo de generate-random a seguir gera uma string de bytes aleatórios de 256 bits (32 bytes) codificada em base64. O exemplo decodifica a string de bytes e a salva no arquivo aleatório.

Ao executar esse comando, use o parâmetro number-of-bytes para especificar o tamanho do valor aleatório em bytes.

Você não especifica uma KMS chave ao executar esse comando. A sequência de bytes aleatória não está relacionada a nenhuma KMS chave.

Por padrão, AWS KMS gera o número aleatório. No entanto, se você especificar um armazenamento de chaves personalizadas< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, a string de bytes aleatória será gerada no HSM cluster do AWS Cloud associado ao armazenamento de chaves personalizadas.

Este exemplo usa os seguintes parâmetros e valores:

Ele usa o --number-of-bytes parâmetro necessário com um valor de 32 para solicitar uma string de 32 bytes (256 bits). Ele usa o --output parâmetro com um valor de text para direcionar o para retornar a saída como texto, em vez de JSON .Ele usa o AWS CLI para extrair o valor da Plaintext propriedade da resposta.Ele canaliza (|) a saída do comando --query parameter para o base64 utilitário, que decodifica a saída extraída. Ele usa o operador de redirecionamento (>) para salvar a decodificação string de bytes para o arquivo. Ele usa o ExampleRandom operador de redirecionamento (>) para salvar o texto cifrado binário em um arquivo.

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom

Este comando não produz saída.

Para obter mais informações, consulte GenerateRandomna APIReferência do Serviço de Gerenciamento de AWS Chaves.

Exemplo 2: como gerar um número aleatório de 256 bits (prompt de comando do Windows)

O exemplo a seguir usa o comando generate-random para gerar uma string aleatória de 256 bits (32 bytes) codificada em base64. O exemplo decodifica a string de bytes e a salva no arquivo aleatório. Esse exemplo é igual ao exemplo anterior, mas usa o utilitário certutil no Windows para decodificar em base64 a string de bytes aleatória antes de salvá-la em um arquivo.

Primeiro, gere uma string de bytes aleatória codificada em base64 e salve-a em um arquivo temporário (ExampleRandom.base64).

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext > ExampleRandom.base64

Como a saída do comando generate-random é salva em um arquivo, esse exemplo não produz nenhuma saída.

Use o comando certutil -decode para decodificar a string de bytes codificada em base64 no arquivo ExampleRandom.base64. Em seguida, ele salva a string de bytes decodificada no arquivo ExampleRandom.

certutil -decode ExampleRandom.base64 ExampleRandom

Saída:

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

Para obter mais informações, consulte GenerateRandomna APIReferência do Serviço de Gerenciamento de AWS Chaves.

  • Para API obter detalhes, consulte GenerateRandomna Referência de AWS CLI Comandos.

Rust
SDKpara Rust
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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 API obter detalhes, consulte GenerateRandoma AWS SDKAPIreferência do Rust.

Para obter uma lista completa de guias do AWS SDK desenvolvedor e exemplos de código, consulteUsar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre SDK versões anteriores.