Compatible AES site for demonstrating fungibility. (outputs hex, not ASCII and supports only one block)
Google documentation of this AES code.

Encrypt this: (hex)

Decrypt this: (hex)

Password: (text ASCII)

Encrypted: (hex, save this one only)

Decrypt result: (hex)

AES 256 bit key: (SHA256 of password, hex)

Initialization vector: (hex, 128 bit)

Mode: Default, should be CBC. Uses no padding.


Q: Why is the init vector 00..?

A: Because it must be transmitted in plaintext anyway, if AES was dependant on salt it wouldn't work.

Q: Why not just use default google crypto settings or some other online generator?

A: Because that online website may disappear or you may loose access to a certain AES implementation.

Having all algorithmic parameters known and well defined lets you get back your Bitcoin keys without trouble.

Q: Is this secure enough?

A: For longer data you might use another implementation of AES (not that this could be feasibly broken). This is intended

for short key strings on offline printed paper - it should be more than fine.

Offline wep app by Martin C. Bloch - Generously hosted by the Danish Bitcoin Foundation (Dansk Bitcoinforening).

The underlying JavaScript code used is from Google Code courtesy of Jeff Mott.

SHA256 of original file (after deleting this SHA only): 96470a63b4c37c957853e888031e4865d836c7092d0153a3bf31f01147200d48