diff options
Diffstat (limited to 'day4.go')
-rw-r--r-- | day4.go | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/day4.go b/day4.go deleted file mode 100644 index ebf8810..0000000 --- a/day4.go +++ /dev/null @@ -1,38 +0,0 @@ -package main - -import ( - "bytes" - "crypto/md5" - "fmt" - "strconv" -) - -func hash(secret []byte, x int64) [16]byte { - str := strconv.AppendInt(secret, x, 10) - return md5.Sum(str) -} - -func check(hash [16]byte, target []byte, length int) bool { - str := []byte(fmt.Sprintf("%x", hash)) - return bytes.Equal(str[:length], target[:length]) -} - -func main() { - secret := []byte("iwrupvqb") - target := []byte("000000") - x := int64(1) - got5, got6 := false, false - - for !(got5 && got6) { - h := hash(secret, x) - if !got5 && check(h, target, 5) { - fmt.Println("Lowest number for 5-zeroes hash:", x) - got5 = true - } - if !got6 && check(h, target, 6) { - fmt.Println("Lowest number for 6-zeroes hash:", x) - got6 = true - } - x += 1 - } -} |