Qual è l'attuale esempio di best practice di crittografia e decrittografia di base in PHP?

1

Ho una buona conoscenza pratica delle best practice di sicurezza di base (hashing delle password, prevenzione di SQL injection, CSRF, ecc.) ma sono completamente a corto di trovare una soluzione per la crittografia e la decodifica in PHP.

Google è di scarso aiuto, poiché la maggior parte dei risultati viene pesantemente criticata per la sua insicurezza di progettazione o semplicemente obsoleta (es. EBC) e per aggiungere confusione, la pletora di librerie sembra offrire poca confidenza l'una sull'altra. / p>

Diciamo che ho una stringa di testo in chiaro e una chiave che non cambierà e voglio essere in grado di crittografare e decifrare quella stringa a piacimento usando quella chiave con il minor numero possibile di codice (idealmente una sola riga) e mentre si aderisce alle attuali migliori pratiche. Qualcuno potrebbe fornire un esempio di questo in PHP?

Un ottimo esempio di dove ciò sarebbe utile è quando si memorizzano dati sensibili in WordPress. L'API Opzioni semplifica l'archiviazione e il recupero di base, ma spesso è necessario memorizzare i dettagli della carta di credito, le chiavi API, ecc. una semplice fodera potrebbe migliorare notevolmente la situazione.

Inoltre, se ti sto chiedendo nel posto sbagliato e esiste già una fonte sempre aggiornata per questo problema esatto, ti invitiamo a indirizzarmi lì.

EDIT: la chiave dovrebbe supportare una stringa arbitraria, quindi potresti utilizzare AUTH_KEY di WordPress se lo desideri e per mantenerlo semplice.

    
posta Rich Jenks 10.03.2015 - 12:32
fonte

2 risposte

0

Sembra che ciò che spero non esista. Mi piacerebbe vedere qualcosa di simile in PHP core perché la maggior parte delle persone non ha il tempo, l'interesse o l'inclinazione per imparare cose come questa, ma avrà comunque inevitabilmente bisogno.

Ho finito per usare una libreria. Il link sembrava molto buono, ma non disponibile su Packagist, quindi sono andato con link

    
risposta data 13.03.2015 - 09:46
fonte
0

Non penso che esista una funzione o un metodo di linea per la crittografia e la decrittografia. Puoi provare questo, è piuttosto facile

link

Esempio:

<?php

require 'vendor/autoload.php';

use Coreproc\CryptoGuard\CryptoGuard;

// This passphrase should be consistent and will be used as your key to encrypt/decrypt
// your string

$passphrase = 'whatever-you-want';

// Instantiate the CryptoGuard class

$cryptoGuard = new CryptoGuard($passphrase);

$stringToEncrypt = 'test';

// This will spit out the encrypted text

$encryptedText = $cryptoGuard->encrypt($stringToEncrypt);

// This should give you back the string you encrypted

echo $cryptoGuard->decrypt($encryptedText);
    
risposta data 10.03.2015 - 13:23
fonte

Leggi altre domande sui tag