While it's not obvious what this program is doing from a cursory look, I'll try to explain it a bit here: Our games had a 100 CHARACTER string that we sent back to our database whenever someone played the game. This could store any arbitrary data the programmer of the particular game wanted. The problem became two fold. 1. how do we store data efficiently? That is storing a high score of 255 took up 3 characters to store an integer. 2. how do we 'encrypt' the data so the player can't tamper with it. We wrote a Base64 variation algorithm, and therefore could encode and encrypt the data from the game to the database, then decode and decrypt the data for statistical reports. The TEST button generates a bunch of fake values, then encrypts it into the 99 character string you see at the top. hitting decypher is actually taking the string and decoding it back to the values. since they're the same, nothing _appears_ to happen. If you were to copy the string, Clear the page via the button or otherwise, paste the string back and hit decypher, you'd see it generate the values again as encoded. This was written in Microsoft's Visual J++ as a stand alone executable. It was mainly written so that our QA department could test the values they expected to see in the database while testing our games in real time (we simply output a debug string in the game with the encrypted string they could copy and paste into this program). Daevid Vincent daevid@daevid.com