Archivio per la categoria ‘Php’

Crittografia a chiave privata con AES (Advanced Encryption Standard)

martedì 14 ottobre 2008

Oggi parliamo di crittografia a chiave privata e di come utilizzarla in Php.

Prima di tutto è importante capire cosa sia la crittografia a chiave privata, chiamata anche crittografia simmetrica, e le sue differenze con quella a chiave pubblica o asimmetrica.

Nella crittogravia a chiave privata viene utilizzata un’unica chiave sia per codificare, sia per decodificare i messaggi, quindi la segretezza di questa chiave risulta fondamentale. Questo presuppone che ci sia un canale sicuro con il quale i due interlocutori si scambiano questa chiave segreta.

Questo problema viene invece risolto dalla crittografica a chiave pubblica, nel quale ogni personaggio in gioco ha due chiavi, una pubblica e una privata. Chiunque voglia mandare a me un messaggio crittato deve crittare il messaggio con la mia chiave pubblica, e solo io lo posso decrittare grazie la mia chiave privata, che rimane sempre in mano mia.

Per maggiori informazioni vi rimando a Wikipedia.

Come anticipato prima in quest’articolo ci occuperemo solo della crittografia a chiave privata, e in particolare dell’algoritmo AES (Advanced Encryption Standard) con chiave a 256 bit, algoritmo utilizzato dal governo degli stati uniti d’america per la classificazione di documenti come TOP SECRET.

Nel seguente esempio in Php andremo prima a crittare, poi a decrittare, un brano della divina commedia. E’ importante notare che nella decrittazione, oltre ovviamente alla chiave segreta, c’è bisogno dell’ Initialization vector, non è importante hai fini della sicurezza che questo rimanga segreto, però è fondamentale per la decrittazione, quindi quano salvate nel database del testo crittato, salvate anche l’Initialization vector utilizzato per la crittazione, altrimenti non riuscirete più a decrittare il testo.

(continua…)

Leggere input da tastiera con php

lunedì 25 agosto 2008

PHP non è solo un linguaggio di programmazione per il web, è infatti possibile utilizzarlo anche da linea di comando per la creazione di script di utilità come ad esempio fare backup periodici di un database o altro. In questo esempio andremo a vedere come leggere degli input da tastiera con questo semplice esempio che, ricevuto un nome in input, lo saluterà.
(continua…)

Ordinare un array per più di un campo

venerdì 20 giugno 2008

In questo articolo andrò a descrivere come ordinare un array per piu di un campo, mettiamo ad esempio di avere un elenco di persone con vari dati tra cui il cognome e l’età della persona, e voler avere lo stesso elenco ordinato per l’età delle persone e, a parità di età, per cognome.
(continua…)

Impossibile fare il download di un file con internet explorer su connessione https

venerdì 21 marzo 2008

Amo sempre più questo fantastico browser che continua a darmi problemi e a farmi perdere tempo. Finita l’installazione del certificato ssl sul sito di un cliente e fatto un giro di prova con il mio fedele firefox, ecco che mi arrivano chiamate ed email a non finire di gente che non riesce piu a scaricare i report dal sito. Effettivamente con Internet Explorer non andava più nessun download, mentre con firefox funzionava allegramente. Dopo un po di ricerche su internet ho visto che bastava semplicmente aggiungere il seguente header

 
header("Pragma: public");

per far funzionare il download anche su internet explorer, se vi capita di dover mettere un sito su https ricordatevene prima :)

Utilizzare Php e MySql con il Charset UTF-8

martedì 11 marzo 2008

Uno dei problemi più frequenti nella creazione di siti, soprattutto se utilizzati da utenti di varie nazionalità, è quello di dover salvare nel database e visualizzare caratteri strani utilizzati da altre lingue, per esempio strighe come Iñtërnâtiônàlizætiøn, bisogna quindi utilizzare un charset adeguato in grado di poter visualizzare ogni tipo di carattere esistente, come charset UTF-8, in grado di visualizzare quasi tutte le lingue vive e alcune lingue morte, oltre al Klingon, ben conosciuto dai fan di Star Trek.
(continua…)

Categorie

Cerca

Meta