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 de32
para solicitar uma string de 32 bytes (256 bits). Ele usa o--output
parâmetro com um valor detext
para direcionar o para retornar a saída como texto, em vez de JSON .Ele usa o AWS CLI para extrair o valor daPlaintext
propriedade da resposta.Ele canaliza (|) a saída do comando--query parameter
para obase64
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 oExampleRandom
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áriocertutil
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
\ --outputtext
\ --queryPlaintext
>
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 arquivoExampleRandom.base64
. Em seguida, ele salva a string de bytes decodificada no arquivoExampleRandom
.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 GenerateRandom
na 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 GenerateRandom
a 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.