Newsgroup: it.comp.www.php
Titolo: md5 e crc32...perchè non va?

Salve,
ho ovviato all'altro post passando i miei valori nell'urlm perň non
rendendoli visibili. Mi sono affidato alla funzione md5() per criptare il
valore di parteza, e alla funzione crc32() per riavere dal valore criptato
quello originale. Problemino...non funziona :P
Esempietto, ho due pagine,
A.php e B.php in A.php hp scritto:
$x=md5(12);
print '<a
href="prova2.php?x='.$x.'">Prova</a>';
e in prova2.php dove vorrei
risalire al valore iniziale 12 ho scritto:
print
"criptato:".$x."<br>\n";
$x=crc32($x);
print "decriptato: ".$x;
il
risultato č:
criptato :c20ad4d76fe97759aa27a0c99bff6710
decriptato:
-1705657499 
qualcosa non mi torna...dove sbaglio?
Grazie, saluti.
--------------------------------
Inviato via 
http://usenet.iol.it

 quello originale. Problemino...non funziona :P
Infatti, md5 crea un hash della stringa ma non esiste il modo di ritornare
al valore di partenza. Per effettuare operazioni di codifica/decodifica devi
usare le funzioni mcrypt:
http://www.php.net/manual/en/ref.mcrypt.php
Normalmente si usa md5 per creare l'hash di una stringa e confrontarla con
la stringa già hashata che hai salvato da qualche parte. Se i due hash sono
uguali, allora anche le stringhe lo sono.
--
Stefano Vita Finzi Zalman
Pronesis.it - PCA
stefan...@pronesis.it
--
Pronesis srl
Viale Cavour 50 - 44100 Ferrara
Tel 0532 242740 (2 linee)
Fax 0532 242491
email: 
in...@pronesis.it
web: 
http://www.pronesis.it

 qualcosa non mi torna...dove sbaglio?
crc32() non e' l'inversa di md5()
entrambe funzioni sono 'senso unico'. crc32() cra un checksum, md5 genera un
hash. Anche crypt e una funzione one-way.
Tutti programmi (seri) che usano una verifica dei password si basano su una
verifica del tipo:
f($dato)==f($user); e non
g(f($dato))==$user;
(f la funzione di cryptying, g una funzione di encrypting [inversa di f])
Nel tuo caso (non so cosa vuoi fare) dovresti forse scrivere una funzione ad
hoc (usando metodi di shuffling, splitting, e operatori +-^ che sono
facilmente invertibili).
HTH
Jurgen

facilmente invertibili.
Metodi shuffing...hum...guardo sulla guida eh? :)
I miei problemi
nascono dal fatto che devo passare un codice a più pagine. Inizialmente non
volendo usare la sintassi URL?valore&valore...avevo pensato di usare un
form interno alla pagina e passare valori hidden, solo che con explorer 5.0
non funzionava una mazza.
Stavo facendo delle prove in quel senso, senza
pensare tanto al criptare il mio valore, perchè a dire il vero, con
explorer 5.0 non riuscivo manco a passarlo decriptato :P


 non funzionava una mazza.
magari trovi una soluzione buona con sessions: leggi
http://it2.php.net/session


http://it2.php.net/session
Bhè, in effetti sembra
interessante l'uso della sessione, e se ho capito bene posso simulare
quello che farebbe il submit di un form, con la differenaza che, immagino,
non se ne veda traccia nel sorgente html. Sulla guida c'è un esempio dal
quale ne copio un pezzo e ti chiedo una cosa. Questo è quello che compare
sul sito:
if (isset($_POST["button"]) && !$sess) {
	session_start();
$_SESSION["id"] = 1;
	$_SESSION["name"] = "name";
	header("location:
http://www.php.net/
");
	exit();
}
Nella if vedo se è stata istanziata
la variabile $_POST, già che ci siamo, la sintassi:
$_POST["button"]
che fa? Comunque, con questa robba qua:
$_SESSION["id"] = 1;
passo ad
un altra pagina delle varibaili contenenti un valore, in questo caso
immagino che passo una variabile di nome id contente il valore 1, giusto?
Poi, con:
header("location: 
http://www.php.net/
");
immagino che
richiamo la pagina a cui inviare i dati...una domanda. Se io volessi che il
tutto si attiva alla pressione di un link, come la richiamo questa bella
procedurina? Io vorrei un link che, cliccandoci sopra, mi richiama una
pagina php e gli passa dei valori. Se volessi usare le sessioni al posto di
un form, come lo gestisco il link?
Grazie mille.
PS: può anche essere
che ho scritto una marea di boiata, è che sono all'inizio, nessuno nasce
imparato :P
