Will you allow crazy high values for BIP38 encrypted keys? If I'm only making one key I don't mind having the browser calculate all night long if that means brute forcing will be extremely hard. Or is that something that can't change according to BIP38?
BIP38 sort of hard codes some fairly expensive parameters where on today's computers, a native implementation does one in under a second, and a typical javascript implementation on a desktop might take ten seconds. Allowing crazy high values in BIP38 is not really feasible because if they can be set too high, then it discourages developers from supporting it, because their services can be subjected to denial of service attacks by any user who sends a BIP38 code that asks for hours of CPU time just to decrypt.
I agree and consider this a high priority item on the TODO.
Sweet, the paranoid side of me is very happy.
What is the formula to take the audit code and reproduce the private key after you have the printed paper wallet?
Simply use the audit code as though it were a SHA256 brain wallet and it should yield the same private key and address.