Friday, 15 July 2011

aes - mcrypt_decrypt wrong output after using encrypted data php -


मुझे php mcrypt_decrypt फ़ंक्शन के साथ एक छोटी सी समस्या है। सबसे पहले, मैं एक 16-बाइट स्ट्रिंग का उपयोग करता हूं, और इसे mcrypt_encrypt का उपयोग करके एन्क्रिप्ट करता हूं; तो, मैं base64_encode का उपयोग करता हूं, और आरंभिक स्ट्रिंग प्राप्त करने के लिए आउटपुट को mcrypt_decrypt डाल देता हूं।

लेकिन आउटपुट की उम्मीद नहीं है मैंने जांच की कि मेरी base64 डीकोडिंग के लिए स्ट्रिंग इनपुट डिकोड करने वाला यह mcrypt_decrypt द्वारा निर्मित सटीक आउटपुट है। यहां मेरा कोड है:

  // एन्क्रिप्ट $ str = "KKQT9W4st7vmdkps"; $ Key = "43625A8C1E4330BDF84DDEE3DD105037"; $ Block = mcrypt_get_block_size ('rijndael_128', 'ecb'); $ Passcrypt = mcrypt_encrypt (MCRYPT_RIJNDAEL_128, $ कुंजी, $ str, MCRYPT_MODE_ECB); $ Passcrypt गूंज;   

ये आउटपुट PTfZ6Ephh8LTxXL4In33Og == । डिक्रिप्शन स्क्रिप्ट निम्न है:

  // डिक्रिप्ट $ str = 'PTfZ6Ephh8LTxXL4In33Og =='; $ कुंजी = '43625A8C1E4330BDF84DDEE3DD105037'; $ Str = base64_decode ($ str); $ Str = rtrim (mcrypt_decrypt (MCRYPT_RIJNDAEL_128, $ कुंजी, $ str, MCRYPT_MODE_ECB, ''), "\ 0"); $ Block = mcrypt_get_block_size ('rijndael_128', 'ecb'); प्रतिलिपि $ str;   

और आउटपुट KKQT9W4st7vmdkps नहीं है, लेकिन -nγ kk7Î ?? nâ ???? टी इसके बजाय कोई विचार? मैं XAMPP और अपाचे सर्वर का उपयोग कर रहा हूं।

प्रतिक्रिया के लिए Thx लोग यह एक मूर्खतापूर्ण गलती थी कि मैं बनाया ... वास्तव में 'PTfZ6Ephh8LTxXL4In33Og ==' डिक्रिप्ट फ़ंक्शन के कारण गलत था "मैं" अंत में "एल" था ... इसलिए डिक्रिप्शन सही नहीं था ... लेकिन यह मेरी गलती नहीं थी, जब से मैं मिल रहा था यह स्ट्रिंग QR कोड स्कैनर से और दोनों "I" और "l" समान प्रदर्शित होते हैं ...

No comments:

Post a Comment