storing user content securely

Hello,

I'm trying to figure out a way to store user-generated text securely in
a database (so that only the user is the one who can access his/her
text). I could have Rails encrypt and decrypt the user's text using the
user's password as the key, but if the user ever forgot their password
there would be no way to ever decrypt their previous text (since the
Rails app uses BCrypt to store only a hash of the password).

Does anyone know how that could be done? It looks like Dropbox does it:
"All files stored on Dropbox servers are encrypted (AES-256) and are
inaccessible without your account password."
(http://www.dropbox.com/help/27) Yet they allow you to reset your
password and I'm assuming they don't store your plain text password
anywhere.

What am I missing? Any suggestions would be greatly appreciated. Thanks!

James

I'm trying to figure out a way to store user-generated text securely in
a database (so that only the user is the one who can access his/her
text). I could have Rails encrypt and decrypt the user's text using the
user's password as the key, but if the user ever forgot their password
there would be no way to ever decrypt their previous text (since the
Rails app uses BCrypt to store only a hash of the password).

Does anyone know how that could be done? It looks like Dropbox does it:
"All files stored on Dropbox servers are encrypted (AES-256) and are
inaccessible without your account password."
(http://www.dropbox.com/help/27) Yet they allow you to reset your
password and I'm assuming they don't store your plain text password
anywhere.

What am I missing? Any suggestions would be greatly appreciated. Thanks!

Hrm... well, "inaccessible without your account password" is not the same thing as "encrypted with your password"....