के साथ स्ट्रिंग एन्क्रिप्ट और डिक्रिप्ट करें मैं निर्दिष्ट कुंजी का उपयोग करके php में स्ट्रिंग को एन्क्रिप्ट और डिक्रिप्ट करने के लिए कुछ फ़ंक्शंस ढूंढ रहा हूं।कुंजी PHP
धन्यवाद!
के साथ स्ट्रिंग एन्क्रिप्ट और डिक्रिप्ट करें मैं निर्दिष्ट कुंजी का उपयोग करके php में स्ट्रिंग को एन्क्रिप्ट और डिक्रिप्ट करने के लिए कुछ फ़ंक्शंस ढूंढ रहा हूं।कुंजी PHP
धन्यवाद!
इस के साथ प्रारंभ: http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/
उसके बाद, How do I encrypt a string in PHP?
एक बुनियादी openssl कार्यान्वयन में पास्कल मार्टिन के जवाब पर एक नजर है कि मैंने पहले उपयोग किया है:
class MyEncryption
{
public $pubkey = '...public key here...';
public $privkey = '...private key here...';
public function encrypt($data)
{
if (openssl_public_encrypt($data, $encrypted, $this->pubkey))
$data = base64_encode($encrypted);
else
throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?');
return $data;
}
public function decrypt($data)
{
if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey))
$data = $decrypted;
else
$data = '';
return $data;
}
}
आप की आवश्यकता होगी आरएसए कुंजी जोड़ी उत्पन्न करें। See here for information इसे कैसे करें। फ़ाइल में निजी कुंजी को संग्रहीत करना एक बुरा विचार है। यह सिर्फ एक उदाहरण है। आदर्श रूप में आप चाहते हैं कि उपयोगकर्ता डिक्रिप्शन समय
पर निजी कुंजी की आपूर्ति करना चाहें, मुझे लगता है कि आप सममित कुंजी एन्क्रिप्शन का मतलब है। mcrypt कई एल्गोरिदम का समर्थन करता है (एईएस, ट्रिपल डीईएस की तरह)। हालांकि एक पकड़ है, यह किसी भी पैडिंग एल्गोरिदम का समर्थन नहीं करता है, इसलिए आप मूल लंबाई वापस प्राप्त नहीं कर पाएंगे। इस समस्या को हल करने के लिए आपके पास 2 विकल्प हैं,
अपने स्पष्ट टेक्स्ट के सामने एक लंबा फ़ील्ड जोड़ें। लंबाई के रूप में पहले 4 बाइट्स का उपयोग करें।
क्या पीकेसीएस # 5 खुद को पैडिंग करें। इस पृष्ठ पर कोड उदाहरण हैं: http://www.php.net/manual/en/function.mcrypt-encrypt.php
क्या आपके पास एन्क्रिप्शन की एक विशिष्ट शैली है? – EAMann
यह सवाल बहुत सामान्य है। PHP/एन्क्रिप्शन विषय पर एक पैर प्राप्त करने के लिए stackoverflow या google खोजें। – labratmatt