ترقية مكتبة التشفير الخاصة بي من mcrypt إلى openssl
هل يمكنني ترقية مكتبة التشفير الخاصة بي من mcrypt إلى openssl؟ في OpenSSL ، هل من الممكن فك تشفير البيانات المشفرة مع Mcrypt؟ توفر منشورتان مختلفتان معلومات متضاربة. إذا كان الأمر كذلك ، كيف؟
الإجابة: من الممكن فك تشفير البيانات المشفرة باستخدام McRypt باستخدام OpenSsl. $ salt = sentstr ($ data ، 0 ، 128) ؛ $ enc = substr ($ data ، 128 ، -64) ؛ $ mac = substr ($ data ، -64) ؛ قائمة ($ cipherkey ، $ mackey ، $ iv) = $ this-> getKeys ($ salt ، $ key) ؛ if ($ mac! == hash_hmac ('sha512' ، $ enc ، $ mackey ، true)) { العودة كاذبة } $ dec = openssl_decrypt ($ enc ، $ this-> cipher ، $ cipherkey ، openssl_raw_data ، $ iv) ؛ إرجاع $ Dec ؛ }
ملاحظات إضافية:
openssl_decrypt () الدالة في وضع CBC.
"هذا مفتاح سري." ، 'G906M70P (IHZA5T و 5X7 (W0�31) u) �e79ciyjq! ip2u (xt13q6) tj6gz3d2wi & 0 ") 7cp5' ، CHR (6). CHR (200). CHR (16). "مفتاحي". CHR (3). CHR (4). CHR (192). CHR (254). 'Zyx0987 !!' ، "وأخيراً مفتاح آخر للاختبار هنا:" ، ] ؛ بيانات $ = [ 'a' ، "هذا اختبار" ، "الآن اختبار تشفير شيء أطول قليلاً مع 1234567890." ، '$ length = mcrypt_get_block_size (mcrypt_blowfish ، mcrypt_mode_cbc) ؛ $ last = ord (بيانات $ [strlen ($ data) - 1]) ؛ '، 'lorem ipsum dolor sit amet ، incectetur adipiscing leit. Donec Sit Amet Pharetra Urna. الدهليز ante ipsum primis في faucibus orci luctus et ultrices posuere cubilia curae ؛ Ut Fringilla ، QUAM SED ELEIFEND ELEIFEND ، JUSTO TURPIS CONCETTER Tellus ، Quis Tristique Eros erat في NIBH. nunc dictum neque vel diam moleestie fermentum. Pellentesque Dignissim dui quis turtor eleifend ، ut maximus elit egestas. Donec Posuere Odio et Auctor Porta. Quisque placerat condimentum maximus. curabitur luctus dolor eget sem luctus ، في Dignissim Turtor Venenatis. Mauris Eget Nulla nisl. '، ] ؛ الفشل $ = 0 ؛ foreach ($ data as $ datum) { foreach (مفاتيح $ كما مفتاح $) { $ ENC = تشفير جديد (MCRYPT_BLOWFISH ، MCRYPT_MODE_CBC) ؛ $ encrypted = $ enc-> encrypt ($ datum ، $ key) ؛ $ dec = incryptionopenssl ('BF-CBC') ؛ $ decrypted = $ dec-> decrypt ($ المشفر ، مفتاح $) ؛ if (STRCMP ($ datum ، $ فك التشويه)! == 0) { ECHO "تشفير مع مفتاح" مفتاح $ "من" $ datum ". فشل $ ؛ } } } إذا (فشل $) { صدى "فشل اختبارات الفشل $.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3