Skip to content

split() vs. prepare()

magnum edited this page Feb 23, 2015 · 13 revisions

Should they be in prepare, or in split? What are the nuances and differences?

http://www.openwall.com/lists/john-dev/2014/06/24/1 http://www.openwall.com/lists/john-dev/2011/07/06/8

Some key differences (apart from the fact prepare() is the only one function that can see other input file fields than "ciphertext"):

  • pot file lines doesn't go through prepare(). Among other things, this means if you add a tag to bare hashes in prepare(), untagged hashes from a pot file will not be recognized.
  • if things are converted in prepare(), valid() only needs to accept the canonical format.
  • If things are converted in split(), valid() needs to accept both/all formats