Ho una piccola stringa di alcuni dati (meno di 1kb) che vorrei che gli agenti utente passassero ad altri siti quando vengono inviati dal mio sito. Affinché gli altri siti possano verificare che io sia quello che ha creato la stringa, ho pensato a due opzioni.Come crittografare i dati in php utilizzando le chiavi pubbliche/private?
- I ping server mi torna per confermare (come paypal, OpenID, ecc ..)
- Io uso le chiavi pubbliche/private per dimostrare che ho inviato il messaggio (come PGP, DKIM, ecc ..)
Non voglio impostare HMAC perché ciò significherebbe che devo usare chiavi personalizzate per ogni sito che sarebbe un problema.
Fuori da queste due scelte sembra che # 2 risparmierà sulla larghezza di banda che lo fa sembrare una scelta migliore.
Quindi, come è possibile impostare la crittografia a chiave pubblica/privata utilizzando PHP e ci sono degli aspetti negativi?
Perché sarebbe di PHP [OpenSSL estensione] (http://us2.php.net/manual/en/book.openssl.php) essere più lento di chiamare OpenSSL stesso? Lo stesso codice viene eseguito in entrambi i modi. Detto questo, c'è un altro motivo per non farlo PHP nativo: l'estensione OpenSSL non può fare tutto ciò che bombarda con il binario openssl quando lavora con formati di chiave esotici. – Charles
I secondo commento di Carlo. L'estensione PHP OpenSSL sarà probabilmente * più veloce *, non più lenta, perché usa le stesse API delle applicazioni della riga di comando di openssl, ma senza il sovraccarico di creazione del processo. – Artefacto
Oh, non sapevo che PHP avesse estensioni OpenSSL. Dovresti usarli, allora. Ho codice C++ che fa questo; dovrei postarlo? – vy32