Roberto De Domenico

Informatica, Pensieri, Fotografia..

Menu

Vai al contenuto
  • Home
  • Curriculum
  • Contattami
  • Photo
Barra laterale

Categorie

  • Apple (1)
    • iOs6 (1)
  • Blog (1)
  • Fotografia (1)
  • Guide & Consigli (1)
  • Programmazione (3)
    • C# (3)
  • Software (1)
    • Windows 7 (1)
    • Windows Vista (1)
    • Windows Xp (1)

Ultimi Articoli

  • “Da levante a ponente”
  • Inserire un attività commerciale nella nuova applicazione Mappe di iOs6 per iPhone / iPad
  • C# Backup Mysql: effettuare il backup di tabelle e salvare tutto in un file
  • C# calcolo hash con algoritmo MD5: criptare e decriptare stringhe e password
  • Vista è “lento”… Windows 7 è “rock”!

Tag cloud

login mysqldump textbox solo numeri Programmazione consigli decriptare primo post password Windows 7 criptare Windows Vista MD5 lancio windows 7 C# stringhe visual studio packup mysql Windows Xp backup c# mysql backup database mysql

criptare

C# calcolo hash con algoritmo MD5: criptare e decriptare stringhe e password

Standard

L’MD5 è un algoritmo relativamente sicuro per salvare password e dati “sensibili” all’interno ad esempio di database o strutture dati. Il suo utilizzo è sempre più di moda tra i programmatori: molti CMS e sistemi operativi lo utilizzano massivamente (Joomla, WordPress e Linux anche se utilizza un sistema un pò diverso ma sempre basato sul principio dell’MD5).

Ma cos’è questo algoritmo innanzitutto? Cerchiamo di capirlo dalla sua definizione:

L’acronimo MD5 (Message Digest algorithm 5) indica un algoritmo crittografico di hashing realizzato da Ronald Rivest nel 1991 e standardizzato con la RFC 1321.

Questo tipo di codifica prende in input una stringa di lunghezza arbitraria e ne produce in output un’altra a 128 bit (ovvero con lunghezza fissa di 32 valori esadecimali, indipendentemente dalla stringa di input) che può essere usata per calcolare la firma digitale dell’input.

La codifica avviene molto velocemente e si presuppone che l’output (noto anche come “MD5 Checksum” o “MD5 Hash”) restituito sia univoco (ovvero si ritiene che sia impossibile, o meglio, che sia altamente improbabile ottenere con due diverse stringhe in input una stessa firma digitale in output) e che non ci sia possibilità, se non per tentativi, di risalire alla stringa di input partendo dalla stringa di output (la gamma di possibili valori in output è pari a 16 alla 32esima potenza).

Tratto da Wikipedia

In parole povere, è un algoritmo che permette di ottenere da una qualasiasi stirnga (di qualsiasi lunghezza maggiore di zero) un altra stringa alfanumerica (esadecimale), di lunghezza fissa che descrive univocamente la stringa di partenza, ma non è in alcun modo riconducibile alla precedente: cioè da un hash ottenuto tramite l’algoritmo MD5 non è possibile risalire in alcun modo diretto alla stringa originante. E’ proprio questo il motivo per cui questo algoritmo è molto utilizzato, infatti anche se ci fosse un grave exploit software che permetta ad un malintenzionato di ottenere i dati salvati, esso non sarà in grado (direttamente) di ottenere i dati salvati, ma solo l’hash esadecimale che li caratterizza.

Continua a leggere

  • appuntamento 25 ottobre 2009
  • Tag C#, consigli, criptare, decriptare, login, MD5, password, Programmazione, stringhe
  • commenti 4 commenti
Funziona grazie a WordPress
Tema: Writr di WordPress.com.