Pular para o conteúdo principal

Calculadora de Probabilidade de Colisão de Hash (Paradoxo do Aniversário)

Calcule a probabilidade de pelo menos uma colisão de hash ou ID para um tamanho de hash e número de itens determinados, usando a fórmula do paradoxo do aniversário — além de quantos itens são necessários para atingir um risco de colisão de 50%, 1%, 0,01% ou personalizado.

Entrada

O número de valores distintos possíveis que o hash ou ID pode assumir (2^bits).

Quantos hashes/IDs aleatórios são gerados. Aceita números simples ou notação científica como 1e12.

Os limites de 50% / 1% / 0,01% abaixo também são sempre mostrados.

Saída

Resultados de Probabilidade de Colisão

Resultado
MétricaValor
No data yet
Usa a aproximação padrão do paradoxo do aniversário P = 1 - e^(-n(n-1)/2H), onde H é o tamanho do espaço de hash/ID. Os números "Itens necessários" são o número de itens em que essa fórmula cruza a probabilidade fornecida — tudo é executado em seu navegador, nada do que você insere é enviado para lugar nenhum.
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/hash-collision-probability-calculator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "hashSize": "256",
    "items": "1000000",
    "targetProbability": "50"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `hash-collision-probability-calculator` tool (Hash Collision Probability Calculator (Birthday Problem)) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/hash-collision-probability-calculator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Calculadora de Probabilidade de Colisão de Hash (Paradoxo do Aniversário) — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

O que faz

Esta calculadora responde à pergunta por trás do "paradoxo do aniversário": se você gerar muitos hashes ou IDs aleatórios, qual é a probabilidade de que dois deles sejam idênticos? Ele usa a aproximação padrão do paradoxo do aniversário

P(collision) ≈ 1 - e^(-n(n-1) / 2H)

onde n é o número de itens que você gera e H é o tamanho do espaço de hash ou ID (2^bits — por exemplo 2^256 para SHA-256, ou 2^122 para os bits aleatórios em uma UUID v4). O resultado costuma ser muito diferente da intuição: com um espaço de 128 bits, você precisa de apenas cerca de 2^64 (aproximadamente 18 quintilhões) valores aleatórios antes de haver 50% de chance de dois deles corresponderem — muito menos do que os 2^128 que você poderia esperar.

Como usar

  1. Escolha um tamanho de hash na lista suspensa (MD5, SHA-1, SHA-256, SHA-512, UUID v4, CRC32) ou escolha Tamanho de bit personalizado e defina sua própria largura de bit.
  2. Digite o número de itens que você planeja gerar. Números simples e notação científica funcionam — digite 1e9 para um bilhão.
  3. Leia a probabilidade de pelo menos uma colisão para esse número de itens.
  4. A tabela também sempre mostra quantos itens são necessários para atingir um risco de colisão de 50%, 1% ou 0,01%, além de um controle deslizante para procurar a contagem de itens para qualquer outra probabilidade alvo.

Por que a matemática exige cuidado

Trabalhar isso à mão (ou pedir a um assistente de bate-papo para "apenas calcular") geralmente falha em escala: 2^256 tem 78 dígitos e uma calculadora ingênua quer tem overflow ou silenciosamente trunca o expoente, dando uma probabilidade sem sentido. Esta ferramenta mantém cada cálculo no espaço log2 — o próprio espaço hash nunca é materializado como um número gigantesco — portanto permanece preciso não importa quão grande o tamanho do hash seja, e usa expm1 internamente para que probabilidades de colisão muito pequenas não sejam arredondadas para zero.

Quantos itens até um SHA-1 de confirmação git ou ID de banco de dados curto colidir?

A mesma fórmula, espaço menor. Um hash git curto de 7 caracteres tem 28 bits — escolha Tamanho de bit personalizado e defina como 28 para ver quantas confirmações são necessárias antes que colisões de hash curto se tornem prováveis. A mesma abordagem funciona para qualquer espaço de ID com incremento automático, comprimento de token de sessão ou tamanho de slug de link curto que você estiver dimensionando.

Privacidade

Tudo é executado em seu navegador — os números que você insere nunca são enviados para lugar nenhum.

Ferramentas relacionadas

Se você está escolhendo um tamanho de hash para evitar esse tipo de colisão em um sistema real, dimensionar seu orçamento de bit real para uma taxa de falso positivo intencional é um problema relacionado — consulte a Calculadora de Parâmetros do Filtro Bloom. Para gerar os hashes em si, use o Gerador de Hash ou Gerador de UUID.

birthday paradoxbirthday problembirthday attackcollision probabilityuuid collision oddssha-256 collisionmd5 collisionhash collision oddspigeonhole principlerandom id collision

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.