1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# Función para calcular el hash SHA-1 function Get-SHA1Hash { param ([string]$inputString) $hashAlgorithm = [System.Security.Cryptography.SHA1]::Create() $byteArray = [System.Text.Encoding]::UTF8.GetBytes($inputString) $hashBytes = $hashAlgorithm.ComputeHash($byteArray) return [BitConverter]::ToString($hashBytes) -replace "-","" } # Diccionario para almacenar hashes $hashes = @{} Write-Host "Buscando colisión SHA-1..." for ($i = 0; $i -lt 1000000; $i++) { $randomString = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 10 | ForEach-Object {[char]$_}) $randomString $hash = Get-SHA1Hash -inputString $randomString if ($hashes.ContainsKey($hash)) { Write-Host "⚠️ ¡Colisión encontrada!" Write-Host "Cadena 1: $($hashes[$hash])" Write-Host "Cadena 2: $randomString" Write-Host "Hash SHA-1: $hash" break } else { $hashes[$hash] = $randomString } } Write-Host "Finalizado." |