Kod:
package main
import (
"bufio"
"crypto/md5"
"encoding/hex"
"fmt"
"os"
)
func readLine(path string) []string {
var result []string
readFile, err := os.Open(path)
if err != nil {
fmt.Println(err)
}
fileScanner := bufio.NewScanner(readFile)
fileScanner.Split(bufio.ScanLines)
for fileScanner.Scan() {
result = append(result, fileScanner.Text())
}
readFile.Close()
return result
}
func getMD5(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
func main() {
var hash string
var path string
fmt.Print("Enter hash: ")
fmt.Scan(&hash)
fmt.Print("Enter wordlist path: ")
fmt.Scan(&path)
if len(hash) == 32 || len(path) > 0 {
wordlist := readLine(path)
for i := 0; i < len(wordlist); i++ {
if getMD5(wordlist[i]) == hash {
fmt.Println("[+]", wordlist[i])
break
} else {
fmt.Println("[-]", wordlist[i])
}
}
}
}
belirttiginiz wordlisti satir satir okur ve her bir satiri hash degerini kirmak istediginiz hash degeriyle karsilastirir eger iki deger eslesiyorsa hash kirilmis olur.