====== RSS Feed Encryption ====== I'm providing source code to encrypt your RSS feed (or any other content created on your server) and decrypt it in your browser. This is to enable you to put sensitive data into your feed without making it public. ===== Download Source Code ===== {{:feedencryption.zip|feedencryption.zip (4 KB)}} ===== Requirements ===== * Web server with PHP installed * PHP programming knowledge * Knowledge on the format of RSS feeds (if you want to encrypt a feed) * [[https://addons.mozilla.org/de/firefox/addon/748|Greasemonkey]] (for decryption in Firefox) ===== Installation and Usage ===== ==== Server Encryption ==== - Upload ''encryption.php'' to your server - Create your PHP script which will output your RSS feed - Add ''include("encryption.php")'' to your feed creation script - Encrypt any sensitive data with ''enrypt($text,$key)'' where ''$key'' is your encryption key (some string). Remember this key. ==== Browser Decryption ==== Note: This currently only works with Firefox and Google Reader. If you can support more feed readers by modifying ''decrypt.user.js'', please [[http://www.kuederle.com/Contact|send me a message]]. - Edit ''decrypt.user.js'', set ''encryptionKey'' to your password (must be the same as the one on the server) - Drag ''decrypt.user.js'' into Firefox and install with Greasemonkey - Open Google Reader, subscribe to your feed ===== Notes ===== * I'm using [[http://en.wikipedia.org/wiki/XXTEA|XXTEA (Corrected Block Tiny Encryption Algorithm)]] using source code from [[http://www.coolcode.cn/show-128-1.html|here]]. The authors provide no guarantee that their implementation is correct and so don't I. Use this source code at your own risk. * Any characters will come out in Google Reader the way you encrypted them. If you used tags, they will not go through Google Reader's filter. On one hand, you can import content into Google Reader that it would normally remove from your feed (like JavaScript, for example). On the other hand, you can easily mess up Google Reader if you're using the wrong markup.