Random Data Generation
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.