Technologie Gadgets, SEO Tipps, Geld Verdienen mit WEB!

Metodi di crittografia password PHP per proteggere i dati …


Metodi di crittografia password PHP per proteggere i dati ...

La crittografia PHP è importante per la privacy e la sicurezza dei tuoi dati. In termini pratici, la crittografia PHP utilizza algoritmi (a volte chiamati algoritmi di hashing) per tradurre i dati “cancellati” in testo crittografato che richiede processi di decrittografia molto specifici per “decodificare” i dati riportandoli alla versione pulita.

Questi algoritmi basati sulla matematica trasformano il testo semplice in un testo cifrato senza senso che può essere decodificato solo dal destinatario previsto che possiede la “chiave”. Un esempio comune è la crittografia HTTPS che protegge la comunicazione client-server.

Smettila di perdere tempo sui server

DreamHost gestisce la gestione dei server per te, così puoi concentrarti sulla creazione di fantastiche app e sulla soddisfazione dei tuoi clienti.

Perché la crittografia è importante per la protezione dei dati?

La crittografia è un componente base ma importante di qualsiasi applicazione perché ti consente di proteggere in modo sicuro i dati a cui non vuoi che nessun altro acceda. Ciò ha acquisito un significato più nuovo nell’era in cui le Informazioni personali o aziendali sono normalmente archiviate in server “cloud”.

Per le aziende, la mancanza di una crittografia adeguata potrebbe comportare danni elevati perché una fuga di dati aziendali riservati potrebbe avvantaggiare i concorrenti. Una fuga di informazioni sui clienti non è solo un incubo per le pubbliche relazioni; potrebbe portare a cause legali e allo scioglimento dell’azienda.

Questo è il motivo per cui la crittografia, in particolare la crittografia delle password difficile da violare, è una delle funzionalità di sicurezza PHP di base che i clienti si aspettano da qualsiasi applicazione PHP.

Il processo viene utilizzato per crittografare le password:

  1. Creare una chiave di crittografia univoca (DEK)
  2. Codifica le informazioni utilizzando la crittografia a chiave univoca.
  3. Sposta la chiave di crittografia univoca (DEK) su Cloud KMS per la crittografia, che restituisce la KEK.
  4. Salvare insieme i dati e la chiave crittografati (KEK).
  5. Elimina la chiave generata (DEK)

In che modo Mysql crittografa le password PHP?

MySQL non memorizza le password come testo in chiaro ma piuttosto come un valore hash calcolato dalla funzione Password(). L’utilizzo della funzione Password() per crittografare le password è accettabile, ma è possibile Utilizzare metodi di crittografia più potenti. I documenti sulla crittografia delle password PHP MySQL affermano esplicitamente che Password() deve essere utilizzato solo per gestire le password per gli account interni MySQL. Ogni volta che creiamo un nuovo account utente utilizzando il comando CREATE USER, MySQL prende il valore IDENTIFIED BY e lo esegue attraverso la funzione Password() dietro le quinte. A tale scopo, consigliano di utilizzare qualcosa di un po’ più potente come SHA1 o Hash() e un salt casuale per password per generare le tabelle arcobaleno basate sul salt comune. Dovrebbe essere forte per la maggior parte degli scopi.

Metodi di crittografia PHP

Al momento, gli sviluppatori possono optare per diversi metodi di crittografia, tra cui l’hashing, la crittografia a chiave segreta e il metodo di crittografia della busta. Ogni metodo di crittografia è dotato di più algoritmi o cifrature (ognuno con i propri punti di forza e di debolezza).

Hashing

Le applicazioni consentono agli utenti di inserire informazioni personali che vengono poi salvate nel database. Ora gli sviluppatori devono assicurarsi che questi dati rimangano illeggibili.

Ora immagina uno scenario in cui un hacker si fa strada nei database e ottiene l’accesso ai dati dell’utente. A causa dell’hashing, questi dati rimarrebbero illeggibili.

L’hash prodotto da password_hash() è eccezionalmente sicuro. Ma potrai renderlo più radicato con due semplici procedure: ampliando il costo di Bcrypt, oppure aggiornando automaticamente l’algoritmo di hashing

Qui stiamo usando a Funzione PHP chiamata password_hash che è un algoritmo di hashing unidirezionale davvero potente useremo bcrypt che è l’algoritmo integrato nel linguaggio PHP che viene aggiornato col passare del tempo per assicurarci che questo metodo sia sempre aggiornato, quindi confrontalo con altri hash metodi che in passato avevamo chiamati md5 o stato 256, questo è sempre aggiornato e dovrebbe essere utilizzato quando si desidera avere password per qualche altro tipo di informazione all’interno di un sito web.

La funzione Salt è già inclusa in password_hash, Salt è fondamentalmente quando aggiungiamo una stringa casuale alla nostra password prima di inserirla nel database per rendere ancora più difficile per le persone capire quale sia la password.

Questo è l’esempio dell’utilizzo della tecnica di hashing ‘bcrypt’.

Ingresso:

“; echo password_hash(“DreamHost”, PASSWORD_DEFAULT); ?>

Produzione:

Shahzeb Ahmed $2y$10$LZExuh/rXamd/X5yuDatn.L8ROlKBry3xidvWc.O19nx85.CrSrO.

Vuoi essere in grado di vedere la password una volta eliminata l’hashing perché è progettata per essere il più sicura possibile. Ciò significa che anche TU come proprietario del sito web non dovresti essere in grado di leggere altre password.

Crittografia a chiave segreta

La crittografia a chiave segreta è anche chiamata crittografia simmetrica. La crittografia a chiave segreta di PHP utilizza solo una chiave, chiamata segreto condiviso, sia per la crittografia che per la decrittografia.

Per crittografare i dati, qui la stessa chiave viene utilizzata dal mittente (per la crittografia) e dal destinatario (per la decrittografia). Quindi la chiave è condivisa. Questa chiave dovrebbe essere tenuta segreta a tutte le altre parti per garantire la privacy.

Si tratta di un metodo di crittografia semplice e facile da usare, ma presenta un problema: la chiave deve essere condivisa tra il mittente e il destinatario dei dati. Inoltre, non è preferibile utilizzare un metodo di crittografia simmetrico in cui utilizza una rete pubblica per condividere la chiave. Altrimenti, se una terza persona intercetta la chiave durante lo scambio, una persona non autorizzata può facilmente decrittografare i dati.

Crittografia della busta

La crittografia a busta è l’idea di inserire i dati in una busta virtuale crittografandoli, bloccarli per uno o più destinatari (crittografando la chiave di crittografia dei dati, ad esempio utilizzando RSA), quindi inserire l’indirizzo del destinatario, il tipo di blocco (il algoritmo) e l’identificatore chiave richiesto all’esterno.

Possiamo utilizzare il servizio Cloud KMS che può utilizzare una chiave per crittografare, decrittografare o firmare dati come segreti per l’archiviazione. che è effettivamente fornito dal servizio Google Cloud Key Management.

Come crittografare e decrittografare le password utilizzando PHP?

Il modo più semplice per proteggere le password in PHP è utilizzare le funzioni password_hash e verify.

L’esempio seguente mostra il metodo di utilizzo del metodo password_hash():

Ingresso:

Produzione:

Codice hash generato: 2y10D6pwJsA5KKdUs7tlrIC3z.we7QZR58wx9gEiuLlQ/dr7E/Rtnj9Ce

La decrittazione della password: per decrittografare l’hash di una password e recuperare la stringa originale, utilizziamo la funzione password_verify().

Sintassi:

bool password_verify(string $password, string $hash)

Verifica che l’hash fornito corrisponda alla password specificata.

IL verifica_password() la funzione verifica che l’hash fornito corrisponda alla password specificata, generata da password_hash() funzione. Restituisce vero se la password e l’hash corrispondono, altrimenti falso.

Produzione:

Password corretta!

Conclusione

Spero che tu abbia imparato l’importanza della crittografia PHP e insieme ai vari tipi di metodi di crittografia PHP con esempi. Non è possibile sostituire un certificato SSL con una password con hash sul lato utente e in primo luogo non sarà necessario eseguire l’hashing. L’hashing delle password ha senso solo sulla macchina server.

×

Ricevi la nostra newsletter
Sii il primo a ricevere gli ultimi aggiornamenti e tutorial.

Grazie per esserti iscritto!