diff options
author | Jesse Luehrs <doy@tozt.net> | 2015-03-15 16:22:13 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2015-03-15 16:22:13 -0400 |
commit | d6578f1357f7ae10feb9e4a4fae1a1953739557a (patch) | |
tree | fc2df284ecbdd029715deeec1e324f79492b7beb | |
parent | ea9be053977c5730c8440685437abf0230062bb5 (diff) | |
download | matasano-d6578f1357f7ae10feb9e4a4fae1a1953739557a.tar.gz matasano-d6578f1357f7ae10feb9e4a4fae1a1953739557a.zip |
if we disallow control characters, we get much more reasonable results
-rw-r--r-- | data/6.out.txt | bin | 2876 -> 2876 bytes | |||
-rw-r--r-- | src/lib.rs | 3 | ||||
-rw-r--r-- | tests/lib.rs | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/data/6.out.txt b/data/6.out.txt Binary files differindex cd20bce..14283df 100644 --- a/data/6.out.txt +++ b/data/6.out.txt @@ -191,6 +191,9 @@ fn crack_single_byte_xor_with_confidence (input: &[u8]) -> (u8, f64) { if !decrypted.is_ascii() { continue; } + if decrypted.iter().any(|&c| c != b'\n' && (c < 0x20 || c > 0x7E)) { + continue; + } let lowercase = decrypted.to_ascii_lowercase(); let mut frequencies = [0; 26]; let mut total_frequency = 0; diff --git a/tests/lib.rs b/tests/lib.rs index ac13fb2..b537bd0 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -36,7 +36,7 @@ fn problem_4 () { .lines() .map(|line| line.unwrap().from_hex().unwrap()) .collect::<Vec<Vec<u8>>>(); - assert_eq!(matasano::find_single_byte_xor_encrypted_string(&possibles[..]), b"nOW\0THAT\0THE\0PARTY\0IS\0JUMPING*"); + assert_eq!(matasano::find_single_byte_xor_encrypted_string(&possibles[..]), b"Now that the party is jumping\n"); } #[test] |