diff options
Diffstat (limited to 'challenge')
-rw-r--r-- | challenge/c05.go | 12 | ||||
-rw-r--r-- | challenge/c06.go | 8 |
2 files changed, 10 insertions, 10 deletions
diff --git a/challenge/c05.go b/challenge/c05.go index a9b1682..a1413ef 100644 --- a/challenge/c05.go +++ b/challenge/c05.go @@ -10,12 +10,12 @@ import ( ) func C5() { - icebaby := `Burning 'em, if you ain't quick and nimble -I go crazy when I hear a cymbal` - key := "ICE" - es := lib.RepeatingXOR(icebaby, key) - hs := lib.AsciiStrToHexStr(es) - fmt.Printf("RepeatingXOR('%v', '%v') = %v\n", icebaby, key, hs) + icebaby := lib.StrToBytes(`Burning 'em, if you ain't quick and nimble +I go crazy when I hear a cymbal`) + key := lib.StrToBytes("ICE") + eb := lib.RepeatingXOR(icebaby, key) + hs := lib.AsciiStrToHexStr(lib.BytesToStr(eb)) + fmt.Printf("RepeatingXOR('%s', '%s') = %v\n", icebaby, key, hs) } // Output: diff --git a/challenge/c06.go b/challenge/c06.go index 589236b..5d19146 100644 --- a/challenge/c06.go +++ b/challenge/c06.go @@ -94,17 +94,17 @@ Jk8DCkkcC3hFMQIEC0EbAVIqCFZBO1IdBgZUVA4QTgUWSR4QJwwRTWM=` } // 'bs' is the data to decrypt. // 'ks' is the key size. - crack := func(bs []byte, ks int) (string, string) { + crack := func(bs []byte, ks int) ([]byte, []byte) { blocks := lib.BreakIntoBlocks(bs, ks) blocks = lib.TransposeBlocks(blocks, ks) - key := "" + key := make([]byte, 0) for i := 0; i < len(blocks); i++ { k := findKey(blocks[i]) - key += string(k) + key = append(key, k) } - return key, lib.RepeatingXOR(string(bs), key) + return key, lib.RepeatingXOR(bs, key) } // Compute keysize. |