2015-08-23 67 views
2

基本上我試圖做的是在我的cURL API中,我希望客戶端使用API​​在服務器上加密特定的敏感數據,然後離開服務器,然後在我的服務器上解密。如何使用openssl進行加密?

我看到你可以使用openssl_encrypt()函數,儘管我找不到任何解釋清楚的東西。

過程的一個例子是下面:

客戶端的服務器端:

$dataToSend = 'mysupersecretstring'; 
// encrypt data 
// connect and send to my server 

ON MY服務器側:

$receivedString = '39bfy4f28d30g74fb34g79'; 
// string above is received 
// string is decrypted decrypted 
// $receivedString is now plaintext and can now be used on this server 

我希望我足夠清楚地解釋這個。如果您有任何問題,請不要猶豫,因爲這非常重要,我有一個有效的解決方案。

+2

您可以使用SSL證書嗎? – user2182349

+1

因爲我相信user2182349正在引領你,正確的密碼學很難得到正確的;使用已經存在的東西,已經很好理解和成熟,像SSL/TLS是一個好主意,如果你不想有微妙但嚴重的安全性故障。 – icktoofay

+0

[PHP,最簡單的雙向加密]的可能重複(http://stackoverflow.com/questions/9262109/php-simplest-twoway-encryption) –

回答

1

簡單地說:不要。

Use HTTPS而不是依賴於這個特定用例的應用層加密。

除非你是一個專業的密碼專家,爲什麼你希望避免使用TLS(具有公鑰固定)並且有一個計劃來管理加密密鑰,否則你可能不應該編寫自己的密碼學。 Or if you do, don't deploy/publish it

而如果你發現自己需要在應用層對信息進行加密(有許多有效的用例這裏加密),learn all the pitfalls that you will encounter也許考慮使用libsodium代替。

相關問題