so I have this website that allows users to write every day. It then get stocked in a database in plain text. It's not a blog so everything is private, and the biggest complain I regularly get is that "I" could still read what they wrote. It was still not "perfectly" private. Also I don't want to be the one who leaked thousand of private diaries.
So here is my train of thought on how to rend it private only to them.
- When they log in : key = sha1(salt + password) and store this key in a SESSION (how secure is that ?) 
- When they save their text : encrypt it with their $_SESSION['key'] before saving it to the database 
- When they read something they've saved, decrypt it with their $_SESSION['key'] before displaying it. 
Is that secure ? Also what is the best way to encrypt/decrypt UTF-8 ?
Also if someone changes its password it has to decrypt/re-crypt everything.
 
     
     
     
    