Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
La flessibilità di configurazione è il punto di forza di questo 2-in-1, che ripropone in un form factor alternativo tutta la tipica qualità dei prodotti Lenovo della famiglia ThinkPad. Qualità costruttiva ai vertici, ottima dotazione hardware ma costo che si presenta molto elevato.
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-07-2007, 10:01   #1
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
Generare hash di una stringa c/c++

Salve a tutti,
ho una stringa e vorrei generare l'hash di questa e confrontarla con un altra...

Come faccio?

Uso dev c++

Ciao.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 10:06   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
L'hash non è una grandezza univoca, ci sono infiniti modi per calcolarlo...ad esempio un hash semplicissimo può essere quello composto da somma dei valori ascii dei caratteri che compongono la stringa diviso per la lunghezza della stringa...
La complessità dell'hash che vuoi calcolare dipende sempre da qual'è lo scopo per cui lo vuoi usare...quindi spiegaci meglio lo scopo di questo hash...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 10:11   #3
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
Devo fare un programmino per un esame.

Allora vorrei fare questo:
All'apertura del programma l'utente inserisce una password...
Questa password è memorizzata in un file...

La password pero vorrei salvarla su file come hash e quindi confrontare l'hash salvato con l'hash della password inserita...

Ciao.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 10:31   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora ti serve un hash bello potente in cui le collisioni possibili siano minime...

Per una hashtable ad esempio ti sarebbe bastato anche un hash come quello che ti ho detto sopra...

Hai due scelte:
- te lo crei da solo (mi sa che non ti conviene)
- vai a prendere il codice di qualche hash noto (md5 o sha1) o usi qualche libreria che te lo calcola
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 10:32   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questa applicazione deve girare su qualche sistema operativo in particolare o il codice deve compilare su sistemi operativi diversi ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 12:23   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
se deve andare solo su Windows potresti usare le CryptoAPI, altrimenti qui c'è il codice di MD5: http://en.wikipedia.org/wiki/Md5
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 17:02   #7
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
No no a me serve una cosa semplice...come md5
Io ricordo che si trovava ad esempio da prompt con un semplice comando...

Ciao.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 19:01   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
md5 non è una cosa "semplice"...

Comunque facci sapere per quale sistema operativo ti serve...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 20:05   #9
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
Niente di che lo devo utilizzare in un semplice programmino in c/c++
su windows....sto utilizzando dev c++ come compilatore...

Ciao.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2007, 09:11   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da pmhwp Guarda i messaggi
Niente di che lo devo utilizzare in un semplice programmino in c/c++
Di implementazioni del MD5 in C o C++ ne trovi a bizzeffe in rete. Una la trovi pure nella RFC1321.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2007, 09:20   #11
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
Non ci sarebbe per caso una libreria dos o altro da poter includere e richiamare la funzione apposita?

Mi sembra che in dos o in linux basti dare il comando md5 da prompt...

Ciao.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2007, 09:37   #12
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da pmhwp Guarda i messaggi
Mi sembra che in dos o in linux basti dare il comando md5 da prompt...
Beh, basta trovare la equivalente utility per Windows ....
http://www.google.it/search?hl=it&q=...nG=Cerca&meta=
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 08:07   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da pmhwp Guarda i messaggi
Mi sembra che in dos o in linux basti dare il comando md5 da prompt...
No, non basta...non in tutte le distribuzioni è possibile, quindi non puoi contare su questo. In Windows men che meno...
Scusa, ma che ti ci vuole ad aggiungere l'implementazione di md5 al tuo progetto ? Basta prenderti il codice che ti ha passato andbin, lo emtti nei rispettivi file (tutti tranne mddriver.c)...
Dopo ti basta includere il .h e ti definisci una funzione come questa:
Codice:
static void MD5String (string)
char *string;
{
  MD5_CTX context;
  unsigned char digest[16];
  unsigned int len = strlen (string);

  MD5Init (&context);
  MD5Update (&context, string, len);
  MD5Final (digest, &context);

  printf ("MD%d (\"%s\") = ", MD, string);
  MD5Print (digest);
  printf ("\n");
}
Ovviamente devi modificare il codice per ritornare la stringa invece di stamparla...
Già finito e già pronto...

Ultima modifica di cionci : 09-07-2007 alle 08:15.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il c...
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Volete un TV LG OLED da 55" a soli ...
Il robot che corre più veloce di ...
NVIDIA potrebbe rilasciare le RTX 5000 S...
Geoingegneria solare: bloccato in Califo...
Rischio sicurezza per i sex toys conness...
Avatar: Fuoco e Cenere ha una data di us...
9 robot per le pulizie, sconti anomali d...
'Un clone spudorato!': Sony porta Tencen...
Boom Ray-Ban Meta: vendite triplicate, o...
3 tablet a prezzo shock, 11" Full H...
PayPal abilita i pagamenti in oltre 100 ...
STMicroelectronics non chiude in Italia…...
Super portatile Lenovo con Intel Core i5...
Una friggitrice ad aria per 49€, anche c...
La Cina ha sviluppato una macchina in gr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v