facciamo un po di luce...
passati i primi anni in cui il web era sconosciuto, le varie banche hanno organizzato i propri gateways di pagamento rispondendo sempre più ai criteri di sicurezza ormai necessari.
il primo passo, tralasciando gli esordi, fu quello dell'uso delle OTP (one time password) in cui veniva trasferito al gateway bancario un codice specifico, preso da una lista fornita dalla banca, atto a validare la provenienza della richiesta. la banca a sua volta rispondeva con una OTP che il sito doveva verificare essere presente tra le OTP fornite dalla banca stessa per le risposte.
Con il passare del tempo, verificato che tutti i linguaggi disponessero di funzioni base di crittografia, si è optato per una forma più semplice di controllo, più semplice ma difficile da falsificare.
I dati della transazione sono trasmessi in chiaro con l'aggiunta di un campo che contiene tutti i dati, concatenati come stringhe, con l'aggiunta di una stringa 'segreta'; della combinazione dei campi viene trasmesso lo MD5. il server della banca concatena i dati trasmessi, aggiunge la stringa segreta e ne calcola lo MD5; se questo ultimo concorda con il valore trasmesso la transazione è riconosciuta come legittima.
questa è la metodologia usata dai principali istituti di credito italiani.
nel caso vi siano problemi di sicurezza è bene codificare i dati sensibili direttamente nel codice: sebbene io non ami le soluzioni hard coded, in questo caso la soluzione sarebbe giustificata.
ps: la risposta al quiz di cui sopra è 'no', ma se non siete dei sysadmin non preoccupatevi se non avete capito la domanda

ciao,
marco