Ok, vamos dividir como estimar o tempo que levaria um computador para quebrar uma senha de 4 caracteres.   
 suposições que precisamos fazer:   * 
 conjunto de caracteres: O fator mais crucial é o que os caracteres são permitidos na senha. Vamos considerar alguns cenários comuns:
 * 
 apenas letras minúsculas (a-z): 26 personagens possíveis. 
 * 
 letras minúsculas e maiúsculas (a-z, a-z): 52 caracteres possíveis. 
 * 
 letras e números (a-z, a-z, 0-9): 62 caracteres possíveis. 
 * 
 Cartas, números e símbolos (A-Z, A-Z, 0-9 e ~!@#$%^&* () _+=-`): Isso pode variar dependendo dos símbolos específicos permitidos, mas vamos assumir cerca de 95 caracteres. 
 * 
 ataque de força bruta: Estamos assumindo que o computador tenta todas as combinações possíveis em sequência. Este é o ataque mais básico. 
 * 
 Velocidade de quebra de senha: A velocidade com que um computador pode experimentar as senhas varia muito, dependendo do hardware (CPU, GPU), do software de cracking usado e do algoritmo usado para hash a senha. Estimaremos uma variedade de velocidades. Vamos considerar operações por segundo:
 * 
 lento: 1.000 senhas/segundo (um sistema muito antigo ou fraco) 
 * 
 Moderado: 1.000.000 senhas/segundo (uma CPU moderna decente) 
 * 
 rápido: 10.000.000.000 de senhas/segundo (uma poderosa configuração da GPU)   
 cálculos    1. 
 Combinações totais possíveis:   O número de senhas possíveis é calculado como: 
 `Tamanho do conjunto de caracteres ^ comprimento da senha`  
 Então: 
 * Minúsculo (26):26 
 4 
 =456.976 
 * Cartas (52):52 
 4 
 =7.311.616 
 * Cartas e números (62):62 
 4 
 =14.776.336 
 * Cartas, números e símbolos (95):95 
 4 
 =81.450.625  
 2. 
 Tempo médio para quebrar:   Em um ataque de força bruta, o computador, em média, encontrará a senha correta no meio da lista de possibilidades. Então, dividimos o número total de combinações em 2 e depois dividimos pela velocidade de rachaduras.  
 `Tempo médio =(Combinações totais / 2) / velocidade de rachadura`   
 Resultados (em segundos):   | Conjunto de caracteres | Combinações totais | Lento (1.000/s) | Moderado (1.000.000/s) | Rápido (10.000.000.000/s) | 
 | ------------------------- | ------------------ | -------------------- | ----------------------- | ------------------------ | 
 | Minúsculo (26) | 456.976 | 228 seg | 0,228 seg | 0,0000228 seg | 
 | Cartas (52) | 7.311.616 | 3656 seg | 3,65 seg | 0,000365 seg | 
 | Cartas e números (62) | 14.776.336 | 7388 seg | 7.38 seg | 0,000738 seg | 
 | Cartas, etc. (95) | 81.450.625 | 40725 seg | 40,72 seg | 0,00407 seg |   
 convertendo para unidades mais compreensíveis    * Segundos / 60 =minutos 
 * Minutos / 60 =horas 
 * Horas / 24 =dias  
 | Conjunto de caracteres | Lento (1.000/s) | Moderado (1.000.000/s) | 
 | ------------------------- | ------------------ | ------------------------- | 
 | Minúsculo (26) | 3,8 minutos | 0,228 milissegundos | 
 | Cartas (52) | 1,01 horas | 3,65 microssegundos | 
 | Cartas e números (62) | 2,05 horas | 7.38 Microssegundos | 
 | Cartas, etc. (95) | 11,3 horas | 40.72 Microssegundos |   
 Considerações importantes:   * 
 algoritmos de hash: O tipo de algoritmo de hash usado para armazenar a senha afeta significativamente o tempo de rachaduras. Algoritmos de salga e hash fortes como BCRYPT, ARGON2 ou SCRYPT tornam as rachaduras muito mais difíceis, mesmo com hardware poderoso. Os cálculos acima assumem que o invasor pode testar diretamente as senhas. Se a senha for bem cheia, eles deverão executar o cálculo de hash para cada palpite, o que diminui drasticamente as coisas. 
 * 
 ataques de dicionário: Em vez de forçar bruto, os invasores geralmente tentam palavras, nomes e padrões comuns primeiro. Isso pode ser muito mais rápido. 
 * 
 Tabelas de arco -íris: Tabelas de hashes pré-computadas podem acelerar a rachadura, especialmente para algoritmos de hash mais fracos. 
 * 
 Limitação da taxa: Muitos sistemas implementam limitação da taxa, que restringe o número de tentativas de senha permitidas em um determinado período de tempo. Isso efetivamente diminui os ataques de força bruta.   
 em conclusão:   Uma senha de 4 caracteres pode ser quebrada muito rapidamente com hardware moderno, especialmente se usar um pequeno conjunto de caracteres (como apenas letras minúsculas) e/ou se o hash de senha for fraco. Uma senha com um conjunto maior de caracteres (incluindo números e símbolos) levará mais tempo, mas ainda pode ser vulnerável. É por isso que as recomendações modernas de senha são para senhas muito mais longas e o uso de algoritmos fortes e bem salgados de hash.