Compartilhar via


Random Data Generation

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Uso CryptGenRandom Para gerar aleatório dados e não a executar C-função tempo RAND. RAND é uma função simples que usa o último número gerado como a propagação para criar o próximo número e é assim previsíveis, que torna os dados não seguro.

A função CryptGenRandom tem duas das propriedades de um bom aleatório gerador número, unpredictability e até mesmo valor distribuição. Em um dispositivo Windows Embedded CE, a entropia é gerada para CryptGenRandom pelo seguinte fontes:

  • Segmento e kernel alterna (CeGetRandomSeed)
  • O atual processo identificador (GetCurrentProcessId)
  • A atual (identificador segmentoGetCurrentThreadId)
  • Ticks desde (inicializarObterContagemMarcaEscala)
  • (Tempo atualGetLocalTime)
  • (Informações de memóriaGlobalMemoryStatus)
  • (Estatísticas armazenar objetoGetStoreInformation)

Todos os este informações é adicionado a uma reserva, que é hash usando MD4 e usado como a chave para modificar uma reserva, usando RC4, fornecido pelo usuário.

Se o item não está incluído no seu design OS Cryptography Services Catalog, você também pode usar CeGenRandom Para gerar aleatório números.

See Also

Other Resources

Enhancing the Security of a Device