I submitted a pull request at
https://github.com/pointbiz/bitaddress.org/pull/8 . (Edit: demo page at
http://scintill.github.com/bitaddress.org-bip38.html )
I'm open to suggestions on improvements, or requests on other ways to package it up. The core code is pretty short and simple, but it depends on EC crypto, biginteger, AES, SHA256, scrypt, and Base58 coding, so could need some adjustment if anyone would like to use it outside of the bitaddress.org page. I may also release my scrypt code separately as it looks like there are no other browser-ready implementations.
Please send the bounty to 1GSo3Z3fgsvUH6yKr6s8kJHMFDWvLEuXjs, and thank you!
Congrats, I was nearly done but had some annoying bug left. I'll check performance in firefox and see if my code happens to do better though. (Unlikely though if your scrypt is also based on this one:
https://github.com/cheongwy/node-scrypt-js)
Yes, my scrypt is based on that, replacing the node module dependencies with Crypto-JS functions. I also used Web Workers to do 2 scrypt threads in parallel.
Cool. How about also adding an option to bitaddress.org's paper wallet to allow generation of the encrypted private key and bitcoin address. I would even go so far as to not show the unencrypted version at all.