hashcracker 1.1.2

GPU-accelerated password cracker — 42 hash types, Vulkan/Metal/DX12, single binary
#![allow(dead_code)]

pub const DEMO_WORDLIST: &[&str] = &[
    "a", "b", "c", "1", "2", "x", "y", "z",
    "aa", "ab", "ac", "12", "23", "xy", "xz", "yz",
    "abc", "123", "xyz", "pass", "test", "demo",
    "abcd", "1234", "word", "hash", "code", "find",
    "abcde", "12345", "admin", "hello", "world", "crack",
    "abcdef", "123456", "master", "hunter", "ranger", "winter",
    "1234567", "password", "qwerty", "monkey", "letmein",
    "dragon", "baseball", "sunshine", "welcome", "shadow",
    "football", "michael", "ninja", "mustang", "trustno1",
    "passw0rd", "secret12", "admin123", "charlie1", "password1",
    "iloveyou", "sunshine1",
];

pub const DEMO_WORDLIST_BIG: &[&str] = &[
    "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
    "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
    "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
    "aa", "ab", "ac", "ad", "ae", "af", "ag",
    "ba", "bb", "bc", "bd", "be", "bf",
    "ca", "cb", "cc", "cd", "ce", "cf",
    "da", "db", "dc", "dd", "de", "df",
    "ea", "eb", "ec", "ed", "ee", "ef",
    "fa", "fb", "fc", "fd", "fe", "ff",
    "ga", "gb", "gc", "gd", "ge", "gf",
    "ha", "hb", "hc", "hd", "he", "hf",
    "ia", "ib", "ic", "id", "ie", "if",
    "ja", "jb", "jc", "jd", "je", "jf",
    "ka", "kb", "kc", "kd", "ke", "kf",
    "la", "lb", "lc", "ld", "le", "lf",
    "ma", "mb", "mc", "md", "me", "mf",
    "na", "nb", "nc", "nd", "ne", "nf",
    "oa", "ob", "oc", "od", "oe", "of",
    "pa", "pb", "pc", "pd", "pe", "pf",
    "qa", "qb", "qc", "qd", "qe", "qf",
    "ra", "rb", "rc", "rd", "re", "rf",
    "sa", "sb", "sc", "sd", "se", "sf",
    "ta", "tb", "tc", "td", "te", "tf",
    "ua", "ub", "uc", "ud", "ue", "uf",
    "va", "vb", "vc", "vd", "ve", "vf",
    "wa", "wb", "wc", "wd", "we", "wf",
    "xa", "xb", "xc", "xd", "xe", "xf",
    "ya", "yb", "yc", "yd", "ye", "yf",
    "za", "zb", "zc", "zd", "ze", "zf",
    "abc", "123", "xyz", "pass", "test", "demo",
    "abcd", "1234", "word", "hash", "code", "find",
    "abcde", "12345", "admin", "hello", "world", "crack", "mouse",
    "abcdef", "123456", "master", "hunter", "ranger", "winter", "summer",
    "1234567", "password", "qwerty", "monkey", "letmein",
    "dragon", "baseball", "sunshine", "welcome", "shadow",
    "football", "michael", "ninja", "mustang", "trustno1",
    "passw0rd", "secret12", "admin123", "charlie1", "password1",
    "iloveyou", "sunshine1", "robert", "jennifer", "amanda", "andrew",
    "joshua", "matthew", "ashley", "steven", "timothy",
];

pub const ALL_HASH_TYPES: &[&str] = &[
    "md5", "md4", "ntlm", "sha1", "sha224", "sha256", "sha384", "sha512",
    "sha256d", "sha512d", "mysql41", "mssql05", "mssql12", "hmac-sha1",
    "hmac-sha256", "hmac-sha512", "db2", "crc32", "md5crypt", "sha256crypt",
    "sha512crypt", "phpass", "apr1", "bcrypt", "drupal7", "ntlmv2", "dcc",
    "dcc2", "grub2", "lm", "pkzip", "wpa", "pdf", "keepass", "7z", "rar5",
    "salted-sha1", "salted-sha256", "salted-sha512", "postgresql", "pbkdf2-sha256",
];

pub const DEMO_HASHES_MD5: &[(&str, &str)] = &[
    ("0cc175b9c0f1b6a831c399e269772661", "a"),
    ("92eb5ffee6ae2fec3ad71c777531578f", "b"),
    ("4a8a08f09d37b73795649038408b5f33", "c"),
    ("c4ca4238a0b923820dcc509a6f75849b", "1"),
    ("187ef4436122d1cc2f40dc2b92f0eba0", "ab"),
    ("900150983cd24fb0d6963f7d28e17f72", "abc"),
    ("202cb962ac59075b964b07152d234b70", "123"),
    ("e2fc714c4727ee9395f324cd2e7f331f", "abcd"),
    ("81dc9bdb52d04dc20036dbd8313ed055", "1234"),
    ("ab56b4d92b40713acc5af89985d4b786", "abcde"),
    ("827ccb0eea8a706c4c34a16891f84e7b", "12345"),
    ("21232f297a57a5a743894a0e4a801fc3", "admin"),
    ("5d41402abc4b2a76b9719d911017c592", "hello"),
    ("e80b5017098950fc58aad83c8c14978e", "abcdef"),
    ("e10adc3949ba59abbe56e057f20f883e", "123456"),
    ("5f4dcc3b5aa765d61d8327deb882cf99", "password"),
    ("d8578edf8458ce06fbc5bb76a58c5ca4", "qwerty"),
    ("d0763edaa9d9bd2a9516280e9044d885", "monkey"),
    ("0d107d09f5bbe40cade3de5c71e9e9b7", "letmein"),
    ("8621ffdbc5698829397d97767ac13db3", "dragon"),
    ("276f8db0b86edaa7fc805516c852c889", "baseball"),
    ("0571749e2ac330a7455809c6b0e7af90", "sunshine"),
    ("40be4e59b9a2a2b5dffb918c0e86b3d7", "welcome"),
    ("3bf1114a986ba87ed28fc1b5884fc2f8", "shadow"),
    ("37b4e2d82900d5e94b8da524fbeb33c0", "football"),
    ("0acf4539a14b3aa27deeb4cbdf6e989f", "michael"),
    ("3899dcbab79f92af727c2190bbd8abc5", "ninja"),
    ("bed128365216c019988915ed3add75fb", "passw0rd"),
    ("5ebe2294ecd0e0f08eab7690d2a6ee69", "secret"),
    ("fcea920f7412b5da7be0cf42b8c93759", "1234567"),
    ("5fcfd41e547a12215b173ff47fdd3739", "trustno1"),
    ("f25a2fc72690b780b2a14e140ef6a9e0", "iloveyou"),
    ("bf779e0933a882808585d19455cd7937", "charlie"),
    ("c77b1e6405ca1bc2cc0eb3c3a2e48cc6", "robert"),
    ("69ee8c62eec26d76a06df35d91c01d5c", "jennifer"),
    ("7b3f6818328131e26f5eb464745935ee", "amanda"),
    ("c017f23adc5d03f8b964f991f529a6c0", "andrew"),
    ("c55158c7c3a705af05b53a71c536f5c3", "joshua"),
    ("bf8b4530d8d246dd74ac53a13471bba0", "matthew"),
    ("50d4942b06b0c35ba3ac0b5c6324accc", "ashley"),
    ("f57303bb12b0d6f06be141382635decb", "steven"),
    ("ef1f55f3030c1cde18bd329bdc671faf", "timothy"),
];

pub const DEMO_HASHES_SHA1: &[(&str, &str)] = &[
    ("86f7e437faa5a7fce15d1ddcb9eaeaea377667b8", "a"),
    ("da23614e02469a0d7c7bd1bdab5c9c474b1904dc", "ab"),
    ("a9993e364706816aba3e25717850c26c9cd0d89d", "abc"),
    ("81fe8bfe87576c3ecb22426f8e57847382917acf", "abcd"),
    ("5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "password"),
    ("7c4a8d09ca3762af61e59520943dc26494f8941b", "123456"),
    ("b1b3773a05c0ed0176787a4f1574ff0075f7521e", "qwerty"),
    ("d033e22ae348aeb5660fc2140aec35850c4da997", "admin"),
    ("a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "test"),
    ("89e495e7941cf9e40e6980d14a16bf023ccd4c91", "demo"),
    ("8d6e34f987851aa599257d3831a1af040886842f", "sunshine"),
    ("c0b137fe2d792459f26ff763cce44574a5b5ab03", "welcome"),
    ("e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "secret"),
    ("3ef22bed54fbf5cc26460762ae9c5c57feb0fba2", "robert"),
    ("7a824497aa41e4dc6a43b2fd5a69a8e6f91a6c34", "jennifer"),
    ("c2d40df6e59b41c086548fe13acb6c94c3e7e1da", "amanda"),
    ("860b669e8068680b3be88e4cb40cb9edb12cc092", "andrew"),
];

pub const DEMO_HASHES_SHA256: &[(&str, &str)] = &[
    ("ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb", "a"),
    ("fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603", "ab"),
    ("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", "abc"),
    ("88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589", "abcd"),
    ("5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8", "password"),
    ("8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92", "123456"),
    ("65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5", "qwerty"),
    ("8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918", "admin"),
    ("2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", "hello"),
    ("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08", "test"),
    ("2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea", "demo"),
];

pub const DEMO_HASHES_NTLM: &[(&str, &str)] = &[
    ("4144e195f46de78a3623da7364d04f11", "a"),
    ("aa3a791e273bce9cf4a2a7caa9028b36", "ab"),
    ("b081dbe85e1ec3ffc3d4e7d0227400cd", "password"),
    ("ce0bfd15059b68d67688884d7a3d3e8c", "123456"),
    ("c8059e2ec7419f590e79d7f1b774bfe6", "test"),
    ("3345a578ab6869f76ea3cfaefc55c4cb", "demo"),
    ("19a2854144b63a8f7617a6f225019b12", "admin"),
];

pub const DEMO_HASHES_MIXED: &[(&str, &str, &str)] = &[
    ("5f4dcc3b5aa765d61d8327deb882cf99", "password", "MD5"),
    ("e10adc3949ba59abbe56e057f20f883e", "123456", "MD5"),
    ("d8578edf8458ce06fbc5bb76a58c5ca4", "qwerty", "MD5"),
    ("5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "password", "SHA-1"),
    ("7c4a8d09ca3762af61e59520943dc26494f8941b", "123456", "SHA-1"),
    ("5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8", "password", "SHA-256"),
    ("8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92", "123456", "SHA-256"),
    ("b081dbe85e1ec3ffc3d4e7d0227400cd", "password", "NTLM"),
];

pub fn build_demo_hashset(hashes: &[(&str, &str)]) -> Vec<String> {
    hashes.iter().map(|(h, _)| h.to_string()).collect()
}