
Simple Encryption in PHP.
composer require defuse/php-encryption
Questa è una libreria per cifrare dati con una chiave o una password in PHP. Richiede PHP 5.6 o successivo e OpenSSL 1.0.1 o successivo. Raccomandiamo di utilizzare una versione di PHP che ha ancora il supporto di sicurezza, che al momento della stesura significa PHP 8.0 o successivo. L'uso di questa libreria con una versione non supportata di PHP potrebbe portare a vulnerabilità di sicurezza.
La versione attuale di php-encryption è la v2.4.0. Questa libreria è prevista
per rimanere stabile e supportata dai suoi autori con correzioni di sicurezza e bug
almeno fino al 1° gennaio 2024.
La libreria è uno sforzo congiunto di Taylor Hornby e Scott Arciszewski oltre a numerosi contributori open-source.
Ciò che distingue questa libreria dalle altre librerie di cifratura PHP è, in primo luogo, che è sicura. Gli autori incontravano codice di cifratura PHP insicuro su base quotidiana, quindi hanno creato questa libreria per portare più sicurezza all'ecosistema. In secondo luogo, questa libreria è "difficile da usare male". Come libsodium, la sua API è progettata per essere facile da usare in modo sicuro e difficile da usare in modo insicuro.
Questa libreria non richiede dipendenze speciali eccetto PHP 5.6 o successivo con le estensioni OpenSSL (versione 1.0.1 o successiva) abilitate (questo è il default). Usa random_compat, che è incluso in questa libreria così che i tuoi utenti non dovranno seguire passaggi di installazione speciali.
Inizia con il Tutorial. Puoi trovare le istruzioni per ottenere il codice di questa libreria in modo sicuro nella documentazione Installazione e Verifica.
Dopo aver letto il tutorial e ottenuto il codice, fai riferimento alla documentazione formale per ciascuna delle classi fornite da questa libreria:
Se incontri difficoltà, consulta le risposte nelle FAQ. Le soluzioni ai problemi più comunemente segnalati sono spiegate lì.
Se sei un crittografo e vuoi comprendere i dettagli più minuziosi di come funziona questa libreria, guarda la documentazione sui Dettagli di Crittografia.
Se sei interessato a contribuire a questa libreria, consulta la Documentazione Interna per Sviluppatori.
Questa libreria è pensata per software PHP lato server che deve cifrare dati a riposo. Se stai sviluppando software che deve cifrare lato client, o stai costruendo un sistema che richiede supporto di cifratura/decifratura multipiattaforma, raccomandiamo fortemente di usare libsodium invece.
Se la documentazione non è sufficiente per capire come usare questa libreria, puoi guardare un progetto di esempio che la usa:
Questo codice non è stato sottoposto a un audit di sicurezza formale e a pagamento. Tuttavia, ha ricevuto molte revisioni da parte dei membri della comunità di sicurezza PHP, e gli autori sono esperti di crittografia. Con ogni probabilità, sei più al sicuro usando questa libreria rispetto a quasi qualsiasi altra libreria di cifratura per PHP.
Se usi questa libreria come parte della tua attività e desideri contribuire a finanziare un audit formale, per favore contatta Taylor Hornby.
La chiave pubblica GnuPG usata per firmare le versioni attuali e nuove è disponibile in dist/signingkey-new.asc. La sua impronta è:
6DD6 E677 0281 5846 FC85 25A3 DD2E 507F 7BDB 1669
Puoi verificarla tramite la pagina di contatto di Taylor Hornby e twitter.
Le versioni più vecchie sono state firmate con una chiave (ora scaduta) disponibile in dist/signingkey-old.asc. L'impronta della vecchia chiave è:
2FA6 1D8D 99B9 2658 6BAC 3D53 385E E055 A129 1538
L'impronta della vecchia chiave può essere verificata tramite la pagina di contatto di Taylor Hornby e twitter.
Una firma di questa nuova chiave da parte della vecchia chiave è disponibile in dist/signingkey-new.asc.sig.