2016-04-12 5 views
7

मुझे लगता है कि यह पेशेवर & विपक्ष का प्रश्न है।ओपनएसएसएल या मैक्रीप्ट? (openssl_encrypt या mcrypt_encrypt)

सरल डेटा crypting के लिए:

openssl_encryptmcrypt_encrypt से अधिक का उपयोग करने का वास्तविक लाभ क्या हैं?

+3

http://php.net/manual/en/function.mcrypt-encrypt.php#117667 – fusion3k

+0

यह भी देखें [मैक्रिप्ट से ओपनएसएसएल तक मेरी एन्क्रिप्शन लाइब्रेरी को अपग्रेड करना] (http://stackoverflow.com/q/43329513/608639) और [PHP 7.2 में मैक्रिप्ट को हटाने के लिए तैयारी] (http://stackoverflow.com/q/42696657/608639) – jww

उत्तर

12

mcrypt का उपयोग न करें। यदि आप अपने कोड में mcrypt शब्द टाइप कर रहे हैं, तो आप शायद गलती कर रहे हैं। यद्यपि यह अपेक्षाकृत सुरक्षित क्रिप्टोग्राफ़ी लाइब्रेरी प्रदान करना संभव है जो मैक्रिप्ट (डीफ्यूज़/पीएचपी-एन्क्रिप्शन के पहले संस्करण में किया गया था) के शीर्ष पर बनाता है, आपके कोड को ओपनएसएल में स्विच करने से बेहतर सुरक्षा, प्रदर्शन, रखरखाव और पोर्टेबिलिटी प्रदान की जाएगी। source: paragonie.com

गति openssl तेज़ है। निम्न तालिका पर एक नजर डालें source: jrm.cc

# php examples/compare.php 
Results: 
+---------+--------+----------+-------------+--------------+ 
| ext  | keylen | textsize | (en/de)code | ops/sec  | 
+---------+--------+----------+-------------+--------------+ 
| mcrypt | 128 | short | enc   | 5626.38872 | 
| mcrypt | 128 | short | dec   | 5729.21909 | 
| mcrypt | 192 | short | enc   | 5694.37256 | 
| mcrypt | 192 | short | dec   | 5682.78434 | 
| mcrypt | 256 | short | enc   | 5644.36358 | 
| mcrypt | 256 | short | dec   | 5661.23080 | 
| mcrypt | 128 | medium | enc   | 5583.97725 | 
| mcrypt | 128 | medium | dec   | 5650.75122 | 
| mcrypt | 192 | medium | enc   | 5591.54051 | 
| mcrypt | 192 | medium | dec   | 5552.83950 | 
| mcrypt | 256 | medium | enc   | 5524.18533 | 
| mcrypt | 256 | medium | dec   | 5513.65563 | 
| mcrypt | 128 | long  | enc   | 4773.67544 | 
| mcrypt | 128 | long  | dec   | 4774.14273 | 
| mcrypt | 192 | long  | enc   | 4633.75035 | 
| mcrypt | 192 | long  | dec   | 4634.35450 | 
| mcrypt | 256 | long  | enc   | 4494.90529 | 
| mcrypt | 256 | long  | dec   | 4280.92422 | 
| openssl | 128 | short | enc   | 168581.35048 | 
| openssl | 128 | short | dec   | 170417.03234 | 
| openssl | 192 | short | enc   | 172052.83452 | 
| openssl | 192 | short | dec   | 171349.94689 | 
| openssl | 256 | short | enc   | 171112.27154 | 
| openssl | 256 | short | dec   | 171644.45899 | 
| openssl | 128 | medium | enc   | 166944.11718 | 
| openssl | 128 | medium | dec   | 169084.25381 | 
| openssl | 192 | medium | enc   | 166665.50107 | 
| openssl | 192 | medium | dec   | 168459.47466 | 
| openssl | 256 | medium | enc   | 163878.40900 | 
| openssl | 256 | medium | dec   | 167946.82470 | 
| openssl | 128 | long  | enc   | 110370.61207 | 
| openssl | 128 | long  | dec   | 142731.36868 | 
| openssl | 192 | long  | enc   | 103798.85171 | 
| openssl | 192 | long  | dec   | 135396.21667 | 
| openssl | 256 | long  | enc   | 96767.81100 | 
| openssl | 256 | long  | dec   | 132203.99672 | 
+---------+--------+----------+-------------+--------------+ 

abandonware mcrypt abandonware मूल रूप से है। इसलिए, विशेष रूप से यदि आप स्क्रैच से शुरू कर रहे हैं (या php.net comment statesके रूप में आप 2015 में कोड लिख रहे हैं), तो यह सही करें। ओपनएसएसएल के साथ जाओ। source: stackoverflow Artjom B.

संबंधित मुद्दे