in reply to web cgi forms data security...

Suggestions that may or may not be applicable to your situation:

  1. Don't pass around data that you don't want users or baddies to see/access, or do it as little as possible. Not passing data is even more secure than 128-bit encryption.
  2. Sessions can be a nice place to park sensitive data. If you're unfamiliar with sessions, they're kind of like a hash that resides on the server(s) for a specific user. Several CPAN modules exist for managing sessions, or try a home-grown db-based one.
  3. POSTing your forms (instead of GETting them) will put nothing into the highly-visible querystrings.
  4. As b10m said, SSL is a very good way of foiling packet-sniffers, but it doesn't do squat if your problem is that you don't want users/baddies seeing indexes/keys in the querystrings in your source code. If this is the issue then you must resort to one of the encryption modules or some sort of lookup tables on the server. Even this can be less than foolproof, though. Imagine that I access the following (spuriously encrypted) url - "www.expensivepics.com/picserver.cgi?3RJHT=H5RTJ98" - and the next day I just paste the same url into my browser even though it's no longer supposed to be an option for me? Its 'So much for encryption' unless you've taken other measures.

Update: Dang! iburrell said almost the same thing that I did mere minutes (twenty, but I'm a slow typer) before I finished with my comment. Sorry for the redundancy, all.

Hanlon's Razor - "Never attribute to malice that which can be adequately explained by stupidity"