Created
August 17, 2012 02:55
-
-
Save darkhelmet/3375538 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2012/08/21 10:41:40 took 1.831589s (9 ns/op) to try 'a' for index 0 | |
2012/08/21 10:41:42 took 1.812426s (9 ns/op) to try 'b' for index 0 | |
2012/08/21 10:41:45 took 1.816416s (9 ns/op) to try 'c' for index 0 | |
2012/08/21 10:41:48 took 1.82774s (9 ns/op) to try 'd' for index 0 | |
2012/08/21 10:41:50 took 1.814831s (9 ns/op) to try 'e' for index 0 | |
2012/08/21 10:41:53 took 1.825167s (9 ns/op) to try 'f' for index 0 | |
2012/08/21 10:41:56 took 1.858311s (9 ns/op) to try 'g' for index 0 | |
2012/08/21 10:41:59 took 1.818296s (9 ns/op) to try 'h' for index 0 | |
2012/08/21 10:42:02 took 1.883082s (9 ns/op) to try 'i' for index 0 | |
2012/08/21 10:42:04 took 1.834942s (9 ns/op) to try 'j' for index 0 | |
2012/08/21 10:42:07 took 1.813992s (9 ns/op) to try 'k' for index 0 | |
2012/08/21 10:42:10 took 1.822631s (9 ns/op) to try 'l' for index 0 | |
2012/08/21 10:42:13 took 1.847494s (9 ns/op) to try 'm' for index 0 | |
2012/08/21 10:42:15 took 1.83805s (9 ns/op) to try 'n' for index 0 | |
2012/08/21 10:42:16 took 1.02971s (10 ns/op) to try 'o' for index 0 | |
2012/08/21 10:42:19 took 1.818259s (9 ns/op) to try 'p' for index 0 | |
2012/08/21 10:42:22 took 1.825644s (9 ns/op) to try 'q' for index 0 | |
2012/08/21 10:42:25 took 1.844277s (9 ns/op) to try 'r' for index 0 | |
2012/08/21 10:42:26 took 1.08873s (10 ns/op) to try 's' for index 0 | |
2012/08/21 10:42:28 took 1.81759s (9 ns/op) to try 't' for index 0 | |
2012/08/21 10:42:31 took 1.824032s (9 ns/op) to try 'u' for index 0 | |
2012/08/21 10:42:34 took 1.83204s (9 ns/op) to try 'v' for index 0 | |
2012/08/21 10:42:37 took 1.904603s (9 ns/op) to try 'w' for index 0 | |
2012/08/21 10:42:40 took 1.863944s (9 ns/op) to try 'x' for index 0 | |
2012/08/21 10:42:42 took 1.852906s (9 ns/op) to try 'y' for index 0 | |
2012/08/21 10:42:45 took 1.824118s (9 ns/op) to try 'z' for index 0 | |
2012/08/21 10:42:45 best guess is 's' for index 0 | |
2012/08/21 10:42:45 guess is now: s | |
2012/08/21 10:42:46 took 1.068303s (10 ns/op) to try 'a' for index 1 | |
2012/08/21 10:42:47 took 1.079981s (10 ns/op) to try 'b' for index 1 | |
2012/08/21 10:42:48 took 1.071348s (10 ns/op) to try 'c' for index 1 | |
2012/08/21 10:42:49 took 1.067966s (10 ns/op) to try 'd' for index 1 | |
2012/08/21 10:42:51 took 1.351272s (13 ns/op) to try 'e' for index 1 | |
2012/08/21 10:42:52 took 1.068148s (10 ns/op) to try 'f' for index 1 | |
2012/08/21 10:42:53 took 1.076612s (10 ns/op) to try 'g' for index 1 | |
2012/08/21 10:42:54 took 1.07034s (10 ns/op) to try 'h' for index 1 | |
2012/08/21 10:42:55 took 1.074498s (10 ns/op) to try 'i' for index 1 | |
2012/08/21 10:42:56 took 1.137437s (11 ns/op) to try 'j' for index 1 | |
2012/08/21 10:42:57 took 1.069079s (10 ns/op) to try 'k' for index 1 | |
2012/08/21 10:42:58 took 1.073556s (10 ns/op) to try 'l' for index 1 | |
2012/08/21 10:43:00 took 1.065161s (10 ns/op) to try 'm' for index 1 | |
2012/08/21 10:43:01 took 1.069797s (10 ns/op) to try 'n' for index 1 | |
2012/08/21 10:43:02 took 1.073306s (10 ns/op) to try 'o' for index 1 | |
2012/08/21 10:43:03 took 1.071276s (10 ns/op) to try 'p' for index 1 | |
2012/08/21 10:43:04 took 1.07624s (10 ns/op) to try 'q' for index 1 | |
2012/08/21 10:43:05 took 1.07456s (10 ns/op) to try 'r' for index 1 | |
2012/08/21 10:43:06 took 1.072315s (10 ns/op) to try 's' for index 1 | |
2012/08/21 10:43:07 took 1.070085s (10 ns/op) to try 't' for index 1 | |
2012/08/21 10:43:08 took 1.082756s (10 ns/op) to try 'u' for index 1 | |
2012/08/21 10:43:09 took 1.067249s (10 ns/op) to try 'v' for index 1 | |
2012/08/21 10:43:10 took 1.078102s (10 ns/op) to try 'w' for index 1 | |
2012/08/21 10:43:11 took 1.073015s (10 ns/op) to try 'x' for index 1 | |
2012/08/21 10:43:13 took 1.07183s (10 ns/op) to try 'y' for index 1 | |
2012/08/21 10:43:14 took 1.069789s (10 ns/op) to try 'z' for index 1 | |
2012/08/21 10:43:14 best guess is 'e' for index 1 | |
2012/08/21 10:43:14 guess is now: se | |
2012/08/21 10:43:15 took 1.344448s (13 ns/op) to try 'a' for index 2 | |
2012/08/21 10:43:16 took 1.347396s (13 ns/op) to try 'b' for index 2 | |
2012/08/21 10:43:18 took 1.655495s (16 ns/op) to try 'c' for index 2 | |
2012/08/21 10:43:19 took 1.356312s (13 ns/op) to try 'd' for index 2 | |
2012/08/21 10:43:21 took 1.345047s (13 ns/op) to try 'e' for index 2 | |
2012/08/21 10:43:22 took 1.350463s (13 ns/op) to try 'f' for index 2 | |
2012/08/21 10:43:24 took 1.375841s (13 ns/op) to try 'g' for index 2 | |
2012/08/21 10:43:25 took 1.3768s (13 ns/op) to try 'h' for index 2 | |
2012/08/21 10:43:26 took 1.366313s (13 ns/op) to try 'i' for index 2 | |
2012/08/21 10:43:28 took 1.35606s (13 ns/op) to try 'j' for index 2 | |
2012/08/21 10:43:29 took 1.355135s (13 ns/op) to try 'k' for index 2 | |
2012/08/21 10:43:30 took 1.361343s (13 ns/op) to try 'l' for index 2 | |
2012/08/21 10:43:32 took 1.353531s (13 ns/op) to try 'm' for index 2 | |
2012/08/21 10:43:33 took 1.353111s (13 ns/op) to try 'n' for index 2 | |
2012/08/21 10:43:35 took 1.353681s (13 ns/op) to try 'o' for index 2 | |
2012/08/21 10:43:36 took 1.352122s (13 ns/op) to try 'p' for index 2 | |
2012/08/21 10:43:37 took 1.351896s (13 ns/op) to try 'q' for index 2 | |
2012/08/21 10:43:39 took 1.351947s (13 ns/op) to try 'r' for index 2 | |
2012/08/21 10:43:40 took 1.349008s (13 ns/op) to try 's' for index 2 | |
2012/08/21 10:43:41 took 1.371353s (13 ns/op) to try 't' for index 2 | |
2012/08/21 10:43:43 took 1.342177s (13 ns/op) to try 'u' for index 2 | |
2012/08/21 10:43:44 took 1.346467s (13 ns/op) to try 'v' for index 2 | |
2012/08/21 10:43:45 took 1.35912s (13 ns/op) to try 'w' for index 2 | |
2012/08/21 10:43:47 took 1.348726s (13 ns/op) to try 'x' for index 2 | |
2012/08/21 10:43:48 took 1.341956s (13 ns/op) to try 'y' for index 2 | |
2012/08/21 10:43:50 took 1.338412s (13 ns/op) to try 'z' for index 2 | |
2012/08/21 10:43:50 best guess is 'c' for index 2 | |
2012/08/21 10:43:50 guess is now: sec | |
2012/08/21 10:43:51 took 1.649195s (16 ns/op) to try 'a' for index 3 | |
2012/08/21 10:43:53 took 1.648582s (16 ns/op) to try 'b' for index 3 | |
2012/08/21 10:43:55 took 1.65911s (16 ns/op) to try 'c' for index 3 | |
2012/08/21 10:43:56 took 1.656882s (16 ns/op) to try 'd' for index 3 | |
2012/08/21 10:43:58 took 1.655411s (16 ns/op) to try 'e' for index 3 | |
2012/08/21 10:44:00 took 1.649987s (16 ns/op) to try 'f' for index 3 | |
2012/08/21 10:44:01 took 1.64954s (16 ns/op) to try 'g' for index 3 | |
2012/08/21 10:44:03 took 1.656154s (16 ns/op) to try 'h' for index 3 | |
2012/08/21 10:44:05 took 1.660259s (16 ns/op) to try 'i' for index 3 | |
2012/08/21 10:44:06 took 1.648393s (16 ns/op) to try 'j' for index 3 | |
2012/08/21 10:44:08 took 1.665999s (16 ns/op) to try 'k' for index 3 | |
2012/08/21 10:44:10 took 1.660111s (16 ns/op) to try 'l' for index 3 | |
2012/08/21 10:44:11 took 1.662047s (16 ns/op) to try 'm' for index 3 | |
2012/08/21 10:44:13 took 1.662394s (16 ns/op) to try 'n' for index 3 | |
2012/08/21 10:44:15 took 1.67747s (16 ns/op) to try 'o' for index 3 | |
2012/08/21 10:44:16 took 1.710004s (17 ns/op) to try 'p' for index 3 | |
2012/08/21 10:44:18 took 1.661175s (16 ns/op) to try 'q' for index 3 | |
2012/08/21 10:44:20 took 2.017125s (20 ns/op) to try 'r' for index 3 | |
2012/08/21 10:44:22 took 1.669194s (16 ns/op) to try 's' for index 3 | |
2012/08/21 10:44:24 took 1.721332s (17 ns/op) to try 't' for index 3 | |
2012/08/21 10:44:25 took 1.70185s (17 ns/op) to try 'u' for index 3 | |
2012/08/21 10:44:27 took 1.672186s (16 ns/op) to try 'v' for index 3 | |
2012/08/21 10:44:29 took 1.665426s (16 ns/op) to try 'w' for index 3 | |
2012/08/21 10:44:30 took 1.659484s (16 ns/op) to try 'x' for index 3 | |
2012/08/21 10:44:32 took 1.666524s (16 ns/op) to try 'y' for index 3 | |
2012/08/21 10:44:34 took 1.654732s (16 ns/op) to try 'z' for index 3 | |
2012/08/21 10:44:34 best guess is 'r' for index 3 | |
2012/08/21 10:44:34 guess is now: secr | |
2012/08/21 10:44:36 took 1.948363s (19 ns/op) to try 'a' for index 4 | |
2012/08/21 10:44:38 took 1.960753s (19 ns/op) to try 'b' for index 4 | |
2012/08/21 10:44:40 took 1.952895s (19 ns/op) to try 'c' for index 4 | |
2012/08/21 10:44:42 took 1.952916s (19 ns/op) to try 'd' for index 4 | |
2012/08/21 10:44:44 took 2.268885s (22 ns/op) to try 'e' for index 4 | |
2012/08/21 10:44:46 took 1.950635s (19 ns/op) to try 'f' for index 4 | |
2012/08/21 10:44:48 took 1.953565s (19 ns/op) to try 'g' for index 4 | |
2012/08/21 10:44:50 took 1.959299s (19 ns/op) to try 'h' for index 4 | |
2012/08/21 10:44:52 took 1.957601s (19 ns/op) to try 'i' for index 4 | |
2012/08/21 10:44:54 took 1.952231s (19 ns/op) to try 'j' for index 4 | |
2012/08/21 10:44:56 took 1.967332s (19 ns/op) to try 'k' for index 4 | |
2012/08/21 10:44:58 took 2.005395s (20 ns/op) to try 'l' for index 4 | |
2012/08/21 10:45:00 took 1.959489s (19 ns/op) to try 'm' for index 4 | |
2012/08/21 10:45:02 took 1.954355s (19 ns/op) to try 'n' for index 4 | |
2012/08/21 10:45:04 took 1.95293s (19 ns/op) to try 'o' for index 4 | |
2012/08/21 10:45:06 took 1.958358s (19 ns/op) to try 'p' for index 4 | |
2012/08/21 10:45:08 took 1.988996s (19 ns/op) to try 'q' for index 4 | |
2012/08/21 10:45:10 took 1.972359s (19 ns/op) to try 'r' for index 4 | |
2012/08/21 10:45:12 took 1.967608s (19 ns/op) to try 's' for index 4 | |
2012/08/21 10:45:14 took 1.97113s (19 ns/op) to try 't' for index 4 | |
2012/08/21 10:45:16 took 1.954375s (19 ns/op) to try 'u' for index 4 | |
2012/08/21 10:45:18 took 1.954053s (19 ns/op) to try 'v' for index 4 | |
2012/08/21 10:45:20 took 1.959914s (19 ns/op) to try 'w' for index 4 | |
2012/08/21 10:45:22 took 1.954189s (19 ns/op) to try 'x' for index 4 | |
2012/08/21 10:45:24 took 1.958487s (19 ns/op) to try 'y' for index 4 | |
2012/08/21 10:45:26 took 1.963749s (19 ns/op) to try 'z' for index 4 | |
2012/08/21 10:45:26 best guess is 'e' for index 4 | |
2012/08/21 10:45:26 guess is now: secre | |
2012/08/21 10:45:28 took 2.306085s (23 ns/op) to try 'a' for index 5 | |
2012/08/21 10:45:30 took 2.259485s (22 ns/op) to try 'b' for index 5 | |
2012/08/21 10:45:32 took 2.263704s (22 ns/op) to try 'c' for index 5 | |
2012/08/21 10:45:35 took 2.258347s (22 ns/op) to try 'd' for index 5 | |
2012/08/21 10:45:37 took 2.266537s (22 ns/op) to try 'e' for index 5 | |
2012/08/21 10:45:39 took 2.285617s (22 ns/op) to try 'f' for index 5 | |
2012/08/21 10:45:42 took 2.274509s (22 ns/op) to try 'g' for index 5 | |
2012/08/21 10:45:44 took 2.270082s (22 ns/op) to try 'h' for index 5 | |
2012/08/21 10:45:46 took 2.247548s (22 ns/op) to try 'i' for index 5 | |
2012/08/21 10:45:48 took 2.253666s (22 ns/op) to try 'j' for index 5 | |
2012/08/21 10:45:51 took 2.255835s (22 ns/op) to try 'k' for index 5 | |
2012/08/21 10:45:53 took 2.261086s (22 ns/op) to try 'l' for index 5 | |
2012/08/21 10:45:55 took 2.260327s (22 ns/op) to try 'm' for index 5 | |
2012/08/21 10:45:58 took 2.249142s (22 ns/op) to try 'n' for index 5 | |
2012/08/21 10:46:00 took 2.268898s (22 ns/op) to try 'o' for index 5 | |
2012/08/21 10:46:02 took 2.296827s (22 ns/op) to try 'p' for index 5 | |
2012/08/21 10:46:04 took 2.266846s (22 ns/op) to try 'q' for index 5 | |
2012/08/21 10:46:07 took 2.254734s (22 ns/op) to try 'r' for index 5 | |
2012/08/21 10:46:09 took 2.258779s (22 ns/op) to try 's' for index 5 | |
2012/08/21 10:46:11 took 2.331592s (23 ns/op) to try 't' for index 5 | |
2012/08/21 10:46:14 took 2.265515s (22 ns/op) to try 'u' for index 5 | |
2012/08/21 10:46:16 took 2.257629s (22 ns/op) to try 'v' for index 5 | |
2012/08/21 10:46:18 took 2.274695s (22 ns/op) to try 'w' for index 5 | |
2012/08/21 10:46:21 took 2.257781s (22 ns/op) to try 'x' for index 5 | |
2012/08/21 10:46:23 took 2.260393s (22 ns/op) to try 'y' for index 5 | |
2012/08/21 10:46:25 took 2.26481s (22 ns/op) to try 'z' for index 5 | |
2012/08/21 10:46:25 best guess is 't' for index 5 | |
2012/08/21 10:46:25 guess is now: secret | |
2012/08/21 10:46:25 password guess after 4m48.325355s is: secret |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2012/08/21 10:36:51 took 1.734077s (17 ns/op) to try 'a' for index 0 | |
2012/08/21 10:36:53 took 1.74429s (17 ns/op) to try 'b' for index 0 | |
2012/08/21 10:36:55 took 1.732096s (17 ns/op) to try 'c' for index 0 | |
2012/08/21 10:36:57 took 1.762732s (17 ns/op) to try 'd' for index 0 | |
2012/08/21 10:36:59 took 1.779806s (17 ns/op) to try 'e' for index 0 | |
2012/08/21 10:37:00 took 1.744297s (17 ns/op) to try 'f' for index 0 | |
2012/08/21 10:37:02 took 1.770387s (17 ns/op) to try 'g' for index 0 | |
2012/08/21 10:37:04 took 1.76061s (17 ns/op) to try 'h' for index 0 | |
2012/08/21 10:37:06 took 1.805303s (18 ns/op) to try 'i' for index 0 | |
2012/08/21 10:37:08 took 1.858575s (18 ns/op) to try 'j' for index 0 | |
2012/08/21 10:37:09 took 1.78187s (17 ns/op) to try 'k' for index 0 | |
2012/08/21 10:37:11 took 1.752848s (17 ns/op) to try 'l' for index 0 | |
2012/08/21 10:37:13 took 1.747479s (17 ns/op) to try 'm' for index 0 | |
2012/08/21 10:37:15 took 1.737252s (17 ns/op) to try 'n' for index 0 | |
2012/08/21 10:37:16 took 1.78585s (17 ns/op) to try 'o' for index 0 | |
2012/08/21 10:37:18 took 1.826338s (18 ns/op) to try 'p' for index 0 | |
2012/08/21 10:37:20 took 1.847823s (18 ns/op) to try 'q' for index 0 | |
2012/08/21 10:37:22 took 1.799321s (17 ns/op) to try 'r' for index 0 | |
2012/08/21 10:37:24 took 1.785805s (17 ns/op) to try 's' for index 0 | |
2012/08/21 10:37:26 took 2.072547s (20 ns/op) to try 't' for index 0 | |
2012/08/21 10:37:28 took 2.057964s (20 ns/op) to try 'u' for index 0 | |
2012/08/21 10:37:30 took 1.880862s (18 ns/op) to try 'v' for index 0 | |
2012/08/21 10:37:32 took 1.876555s (18 ns/op) to try 'w' for index 0 | |
2012/08/21 10:37:34 took 1.754507s (17 ns/op) to try 'x' for index 0 | |
2012/08/21 10:37:35 took 1.755322s (17 ns/op) to try 'y' for index 0 | |
2012/08/21 10:37:37 took 1.756215s (17 ns/op) to try 'z' for index 0 | |
2012/08/21 10:37:37 best guess is 'u' for index 0 | |
2012/08/21 10:37:37 guess is now: u | |
2012/08/21 10:37:39 took 1.760613s (17 ns/op) to try 'a' for index 1 | |
2012/08/21 10:37:41 took 1.761909s (17 ns/op) to try 'b' for index 1 | |
2012/08/21 10:37:42 took 1.752936s (17 ns/op) to try 'c' for index 1 | |
2012/08/21 10:37:44 took 1.76934s (17 ns/op) to try 'd' for index 1 | |
2012/08/21 10:37:46 took 1.799374s (17 ns/op) to try 'e' for index 1 | |
2012/08/21 10:37:48 took 1.764728s (17 ns/op) to try 'f' for index 1 | |
2012/08/21 10:37:50 took 1.810783s (18 ns/op) to try 'g' for index 1 | |
2012/08/21 10:37:51 took 1.778063s (17 ns/op) to try 'h' for index 1 | |
2012/08/21 10:37:53 took 1.756731s (17 ns/op) to try 'i' for index 1 | |
2012/08/21 10:37:55 took 1.764307s (17 ns/op) to try 'j' for index 1 | |
2012/08/21 10:37:57 took 1.749663s (17 ns/op) to try 'k' for index 1 | |
2012/08/21 10:37:59 took 1.742413s (17 ns/op) to try 'l' for index 1 | |
2012/08/21 10:38:00 took 1.735105s (17 ns/op) to try 'm' for index 1 | |
2012/08/21 10:38:02 took 1.741219s (17 ns/op) to try 'n' for index 1 | |
2012/08/21 10:38:04 took 1.738746s (17 ns/op) to try 'o' for index 1 | |
2012/08/21 10:38:06 took 1.737417s (17 ns/op) to try 'p' for index 1 | |
2012/08/21 10:38:07 took 1.735658s (17 ns/op) to try 'q' for index 1 | |
2012/08/21 10:38:09 took 1.74333s (17 ns/op) to try 'r' for index 1 | |
2012/08/21 10:38:11 took 1.75258s (17 ns/op) to try 's' for index 1 | |
2012/08/21 10:38:13 took 1.951087s (19 ns/op) to try 't' for index 1 | |
2012/08/21 10:38:15 took 1.738706s (17 ns/op) to try 'u' for index 1 | |
2012/08/21 10:38:16 took 1.738152s (17 ns/op) to try 'v' for index 1 | |
2012/08/21 10:38:18 took 1.758051s (17 ns/op) to try 'w' for index 1 | |
2012/08/21 10:38:20 took 1.757376s (17 ns/op) to try 'x' for index 1 | |
2012/08/21 10:38:22 took 1.740322s (17 ns/op) to try 'y' for index 1 | |
2012/08/21 10:38:23 took 1.745401s (17 ns/op) to try 'z' for index 1 | |
2012/08/21 10:38:23 best guess is 't' for index 1 | |
2012/08/21 10:38:23 guess is now: ut | |
2012/08/21 10:38:25 took 1.779432s (17 ns/op) to try 'a' for index 2 | |
2012/08/21 10:38:27 took 1.742486s (17 ns/op) to try 'b' for index 2 | |
2012/08/21 10:38:29 took 1.739506s (17 ns/op) to try 'c' for index 2 | |
2012/08/21 10:38:30 took 1.748531s (17 ns/op) to try 'd' for index 2 | |
2012/08/21 10:38:32 took 1.733672s (17 ns/op) to try 'e' for index 2 | |
2012/08/21 10:38:34 took 1.740196s (17 ns/op) to try 'f' for index 2 | |
2012/08/21 10:38:36 took 1.738501s (17 ns/op) to try 'g' for index 2 | |
2012/08/21 10:38:38 took 1.746025s (17 ns/op) to try 'h' for index 2 | |
2012/08/21 10:38:39 took 1.74206s (17 ns/op) to try 'i' for index 2 | |
2012/08/21 10:38:41 took 1.751229s (17 ns/op) to try 'j' for index 2 | |
2012/08/21 10:38:43 took 1.764492s (17 ns/op) to try 'k' for index 2 | |
2012/08/21 10:38:45 took 1.735132s (17 ns/op) to try 'l' for index 2 | |
2012/08/21 10:38:46 took 1.756044s (17 ns/op) to try 'm' for index 2 | |
2012/08/21 10:38:48 took 1.74525s (17 ns/op) to try 'n' for index 2 | |
2012/08/21 10:38:50 took 1.744929s (17 ns/op) to try 'o' for index 2 | |
2012/08/21 10:38:52 took 1.758912s (17 ns/op) to try 'p' for index 2 | |
2012/08/21 10:38:53 took 1.74362s (17 ns/op) to try 'q' for index 2 | |
2012/08/21 10:38:55 took 1.742555s (17 ns/op) to try 'r' for index 2 | |
2012/08/21 10:38:57 took 1.751819s (17 ns/op) to try 's' for index 2 | |
2012/08/21 10:38:59 took 1.747677s (17 ns/op) to try 't' for index 2 | |
2012/08/21 10:39:00 took 1.756031s (17 ns/op) to try 'u' for index 2 | |
2012/08/21 10:39:02 took 1.757336s (17 ns/op) to try 'v' for index 2 | |
2012/08/21 10:39:04 took 1.757846s (17 ns/op) to try 'w' for index 2 | |
2012/08/21 10:39:06 took 1.755368s (17 ns/op) to try 'x' for index 2 | |
2012/08/21 10:39:08 took 1.744082s (17 ns/op) to try 'y' for index 2 | |
2012/08/21 10:39:09 took 1.73922s (17 ns/op) to try 'z' for index 2 | |
2012/08/21 10:39:09 best guess is 'z' for index 2 | |
2012/08/21 10:39:09 guess is now: utz | |
2012/08/21 10:39:11 took 1.735325s (17 ns/op) to try 'a' for index 3 | |
2012/08/21 10:39:13 took 1.730931s (17 ns/op) to try 'b' for index 3 | |
2012/08/21 10:39:15 took 1.741805s (17 ns/op) to try 'c' for index 3 | |
2012/08/21 10:39:16 took 1.738235s (17 ns/op) to try 'd' for index 3 | |
2012/08/21 10:39:18 took 1.734553s (17 ns/op) to try 'e' for index 3 | |
2012/08/21 10:39:20 took 1.737055s (17 ns/op) to try 'f' for index 3 | |
2012/08/21 10:39:22 took 1.737009s (17 ns/op) to try 'g' for index 3 | |
2012/08/21 10:39:23 took 1.738219s (17 ns/op) to try 'h' for index 3 | |
2012/08/21 10:39:25 took 1.74421s (17 ns/op) to try 'i' for index 3 | |
2012/08/21 10:39:27 took 1.740176s (17 ns/op) to try 'j' for index 3 | |
2012/08/21 10:39:29 took 1.734271s (17 ns/op) to try 'k' for index 3 | |
2012/08/21 10:39:30 took 1.730433s (17 ns/op) to try 'l' for index 3 | |
2012/08/21 10:39:32 took 1.750199s (17 ns/op) to try 'm' for index 3 | |
2012/08/21 10:39:34 took 1.747967s (17 ns/op) to try 'n' for index 3 | |
2012/08/21 10:39:36 took 1.750042s (17 ns/op) to try 'o' for index 3 | |
2012/08/21 10:39:37 took 1.733457s (17 ns/op) to try 'p' for index 3 | |
2012/08/21 10:39:39 took 1.738587s (17 ns/op) to try 'q' for index 3 | |
2012/08/21 10:39:41 took 1.732526s (17 ns/op) to try 'r' for index 3 | |
2012/08/21 10:39:43 took 1.732473s (17 ns/op) to try 's' for index 3 | |
2012/08/21 10:39:44 took 1.732315s (17 ns/op) to try 't' for index 3 | |
2012/08/21 10:39:46 took 1.730921s (17 ns/op) to try 'u' for index 3 | |
2012/08/21 10:39:48 took 1.73053s (17 ns/op) to try 'v' for index 3 | |
2012/08/21 10:39:50 took 1.730292s (17 ns/op) to try 'w' for index 3 | |
2012/08/21 10:39:51 took 1.731046s (17 ns/op) to try 'x' for index 3 | |
2012/08/21 10:39:53 took 1.741506s (17 ns/op) to try 'y' for index 3 | |
2012/08/21 10:39:55 took 1.745479s (17 ns/op) to try 'z' for index 3 | |
2012/08/21 10:39:55 best guess is 'z' for index 3 | |
2012/08/21 10:39:55 guess is now: utzz | |
2012/08/21 10:39:57 took 1.737109s (17 ns/op) to try 'a' for index 4 | |
2012/08/21 10:39:58 took 1.73384s (17 ns/op) to try 'b' for index 4 | |
2012/08/21 10:40:00 took 1.732896s (17 ns/op) to try 'c' for index 4 | |
2012/08/21 10:40:02 took 1.756107s (17 ns/op) to try 'd' for index 4 | |
2012/08/21 10:40:04 took 1.76619s (17 ns/op) to try 'e' for index 4 | |
2012/08/21 10:40:06 took 1.766919s (17 ns/op) to try 'f' for index 4 | |
2012/08/21 10:40:07 took 1.825819s (18 ns/op) to try 'g' for index 4 | |
2012/08/21 10:40:09 took 1.767931s (17 ns/op) to try 'h' for index 4 | |
2012/08/21 10:40:11 took 1.747495s (17 ns/op) to try 'i' for index 4 | |
2012/08/21 10:40:13 took 1.746092s (17 ns/op) to try 'j' for index 4 | |
2012/08/21 10:40:15 took 1.748542s (17 ns/op) to try 'k' for index 4 | |
2012/08/21 10:40:16 took 1.731791s (17 ns/op) to try 'l' for index 4 | |
2012/08/21 10:40:18 took 1.742057s (17 ns/op) to try 'm' for index 4 | |
2012/08/21 10:40:20 took 1.739045s (17 ns/op) to try 'n' for index 4 | |
2012/08/21 10:40:22 took 1.734199s (17 ns/op) to try 'o' for index 4 | |
2012/08/21 10:40:23 took 1.734476s (17 ns/op) to try 'p' for index 4 | |
2012/08/21 10:40:25 took 1.750334s (17 ns/op) to try 'q' for index 4 | |
2012/08/21 10:40:27 took 1.757009s (17 ns/op) to try 'r' for index 4 | |
2012/08/21 10:40:29 took 1.732821s (17 ns/op) to try 's' for index 4 | |
2012/08/21 10:40:30 took 1.729974s (17 ns/op) to try 't' for index 4 | |
2012/08/21 10:40:32 took 1.735483s (17 ns/op) to try 'u' for index 4 | |
2012/08/21 10:40:34 took 1.738588s (17 ns/op) to try 'v' for index 4 | |
2012/08/21 10:40:36 took 1.740469s (17 ns/op) to try 'w' for index 4 | |
2012/08/21 10:40:37 took 1.749772s (17 ns/op) to try 'x' for index 4 | |
2012/08/21 10:40:39 took 1.750248s (17 ns/op) to try 'y' for index 4 | |
2012/08/21 10:40:41 took 1.74075s (17 ns/op) to try 'z' for index 4 | |
2012/08/21 10:40:41 best guess is 'g' for index 4 | |
2012/08/21 10:40:41 guess is now: utzzg | |
2012/08/21 10:40:43 took 1.74194s (17 ns/op) to try 'a' for index 5 | |
2012/08/21 10:40:44 took 1.743246s (17 ns/op) to try 'b' for index 5 | |
2012/08/21 10:40:46 took 1.742332s (17 ns/op) to try 'c' for index 5 | |
2012/08/21 10:40:48 took 1.734484s (17 ns/op) to try 'd' for index 5 | |
2012/08/21 10:40:50 took 1.732418s (17 ns/op) to try 'e' for index 5 | |
2012/08/21 10:40:51 took 1.734814s (17 ns/op) to try 'f' for index 5 | |
2012/08/21 10:40:53 took 1.735498s (17 ns/op) to try 'g' for index 5 | |
2012/08/21 10:40:55 took 1.735613s (17 ns/op) to try 'h' for index 5 | |
2012/08/21 10:40:57 took 1.738788s (17 ns/op) to try 'i' for index 5 | |
2012/08/21 10:40:58 took 1.735026s (17 ns/op) to try 'j' for index 5 | |
2012/08/21 10:41:00 took 1.741023s (17 ns/op) to try 'k' for index 5 | |
2012/08/21 10:41:02 took 1.750048s (17 ns/op) to try 'l' for index 5 | |
2012/08/21 10:41:04 took 1.739218s (17 ns/op) to try 'm' for index 5 | |
2012/08/21 10:41:05 took 1.738538s (17 ns/op) to try 'n' for index 5 | |
2012/08/21 10:41:07 took 1.736559s (17 ns/op) to try 'o' for index 5 | |
2012/08/21 10:41:09 took 1.735955s (17 ns/op) to try 'p' for index 5 | |
2012/08/21 10:41:11 took 1.728941s (17 ns/op) to try 'q' for index 5 | |
2012/08/21 10:41:12 took 1.727511s (17 ns/op) to try 'r' for index 5 | |
2012/08/21 10:41:14 took 1.745381s (17 ns/op) to try 's' for index 5 | |
2012/08/21 10:41:16 took 1.745949s (17 ns/op) to try 't' for index 5 | |
2012/08/21 10:41:18 took 1.744131s (17 ns/op) to try 'u' for index 5 | |
2012/08/21 10:41:20 took 1.737221s (17 ns/op) to try 'v' for index 5 | |
2012/08/21 10:41:21 took 1.74453s (17 ns/op) to try 'w' for index 5 | |
2012/08/21 10:41:23 took 1.741699s (17 ns/op) to try 'x' for index 5 | |
2012/08/21 10:41:25 took 1.742492s (17 ns/op) to try 'y' for index 5 | |
2012/08/21 10:41:27 took 1.739574s (17 ns/op) to try 'z' for index 5 | |
2012/08/21 10:41:27 best guess is 'z' for index 5 | |
2012/08/21 10:41:27 guess is now: utzzgz | |
2012/08/21 10:41:27 password guess after 4m36.864772s is: utzzgz |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"container/heap" | |
"crypto/subtle" | |
"flag" | |
"log" | |
T "testing" | |
"time" | |
) | |
var ( | |
password = flag.String("password", "secret", "The password to try and guess") | |
letters = []byte("abcdefghijklmnopqrstuvwxyz") | |
compare = flag.String("compare", "broken", "The comparison function to use. Must be one of constant or broken (default)") | |
) | |
type TestRun struct { | |
Time int64 | |
Byte byte | |
} | |
type Times []TestRun | |
func (t Times) Len() int { return len(t) } | |
func (t Times) Less(i, j int) bool { return t[i].Time > t[j].Time } | |
func (t Times) Swap(i, j int) { t[i], t[j] = t[j], t[i] } | |
func (t *Times) Push(v interface{}) { | |
*t = append(*t, v.(TestRun)) | |
} | |
func (t *Times) Pop() interface{} { | |
a := *t | |
n := len(a) | |
v := a[n-1] | |
*t = a[0 : n-1] | |
return v | |
} | |
type Compare func(x, y []byte) int | |
func BrokenCompare(x, y []byte) int { | |
for i := range x { | |
if x[i] != y[i] { | |
return 0 | |
} | |
} | |
return 1 | |
} | |
func Crack(password []byte, comp Compare) []byte { | |
n := len(password) | |
guess := make([]byte, n) | |
for index := range password { | |
times := make(Times, 0) | |
for _, letter := range letters { | |
guess[index] = letter | |
result := T.Benchmark(func(b *T.B) { | |
for i := 0; i < b.N; i++ { | |
comp(password, guess) | |
} | |
}) | |
heap.Push(×, TestRun{ | |
Time: result.NsPerOp(), | |
Byte: letter, | |
}) | |
log.Printf("took %s (%d ns/op) to try %q for index %d", result.T, result.NsPerOp(), letter, index) | |
} | |
tr := heap.Pop(×).(TestRun) | |
guess[index] = tr.Byte | |
log.Printf("best guess is %q for index %d", tr.Byte, index) | |
log.Printf("guess is now: %s", guess) | |
} | |
return guess | |
} | |
func ConstantTimeCrack(pw []byte) []byte { | |
return Crack(pw, subtle.ConstantTimeCompare) | |
} | |
func BrokenCrack(pw []byte) []byte { | |
return Crack(pw, BrokenCompare) | |
} | |
func main() { | |
flag.Parse() | |
var guess []byte | |
pw := []byte(*password) | |
start := time.Now() | |
switch *compare { | |
case "broken": | |
guess = BrokenCrack(pw) | |
case "constant": | |
guess = ConstantTimeCrack(pw) | |
default: | |
log.Fatalf("%s is not a valid compare function. Must be one of broken or constant") | |
} | |
end := time.Now() | |
dur := end.Sub(start) | |
log.Printf("password guess after %s is: %s", dur, guess) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On public-network sites, best practice is to salt & hash stored passwords, as described below. Have you tried hashing the input password and each guess?
https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/