php

2010-01-03 4 views
5

के साथ एन्क्रिप्शन मैं कुंजी का उपयोग करके php के साथ चीजों को कैसे एन्क्रिप्ट कर सकता हूं? मैं मैक्रिप्ट स्थापित नहीं करना पसंद करूंगा। मुझे बहुत मजबूत होने के लिए एन्क्रिप्शन की भी आवश्यकता है।php

+0

[PHP, सरल दो रास्ता एन्क्रिप्शन] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/9262109/php-simplest-two-way-encryption) –

उत्तर

1

उदाहरण के साथ phpseclib के बारे में। एईएस? जहां उपलब्ध हो mcrypt का उपयोग करेंगे, अन्यथा मूल-PHP कार्यान्वयन। जो धीमा हो जाएगा, लेकिन यह अपरिहार्य है।

0

http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/ से:

... पीजीपी और अन्य सार्वजनिक कुंजी एन्क्रिप्शन तरीकों के साथ, वहाँ सार्वजनिक कुंजी से किसी की निजी कुंजी निकालना कोई रास्ता नहीं है।

... पीजीपी की एक अतिरिक्त सुविधा यह है कि निजी कुंजी का पासवर्ड वास्तव में एक पासवर्ड नहीं है; यह एक पासफ्रेज है। और यह एक संपूर्ण कहानियां हो सकती है, जिसमें विराम चिह्न, रिक्त स्थान और सभी प्रकार के पात्र शामिल हैं।

... पीजीपी-आधारित सार्वजनिक कुंजी एन्क्रिप्शन का उपयोग करने का एक तरीका जीएनयू गोपनीयता गार्ड (जीपीजी) का उपयोग करना है। जीपीजी का उपयोग करके एन्क्रिप्ट किए गए किसी भी संदेश को जीपीजी, पीजीपी, या किसी भी ई-मेल क्लाइंट प्लग-इन के साथ डिक्रिप्ट किया जा सकता है जो प्रोग्राम का समर्थन करता है। उदाहरण में, एक ऑनलाइन फॉर्म संदेश सहित उपयोगकर्ता इनपुट स्वीकार करता है; GPG का उपयोग कर किसी विशेष प्राप्तकर्ता के लिए वह संदेश एन्क्रिप्ट करता है; फिर इसे भेजता है।

उदाहरण:

<?php 
    //set up users 
    $from = "[email protected]"; 
    $to = "[email protected]"; 

    //cut the message down to size, remove HTML tags 
    $messagebody = strip_tags(substr($_POST['msg'],0,5000)); 
    $message_body = escapeshellarg($messagebody); 

    $gpg_path = '/usr/local/bin/gpg'; 
    $home_dir = '/htdocs/www'; 
    $user_env = 'web'; 

    $cmd = "echo $message_body | HOME=$home_dir USER=$user_env $gpg_path" . 
     "--quiet --no-secmem-warning --encrypt --sign --armor " . 
     "--recipient $to --local-user $from"; 

    $message_body = `$cmd`; 

    mail($to,'Message from Web Form', $message_body,"From:$from\r\n"); 

?> 
+1

प्रश्न कहां एक तरफ कहता है? –

0

एक तरह से एन्क्रिप्शन के लिए, मैं हमेशा phpass

का उपयोग मेरा मानना ​​है कि यह कुछ एन्क्रिप्शन तरीकों की कोशिश करता है और मामले में वापस गिर जाता है वे अपने निर्माण पर उपलब्ध नहीं हैं।

0

openssl_xxx फ़ंक्शंस का प्रयास करें। वहाँ आरएसए और डिफी-हेलमैन है। शायद और, मैंने केवल इनके साथ काम किया।

0

कई निर्मित PHP कार्यों और उपलब्ध पुस्तकालयों में से एक का उपयोग करके सबसे अच्छा तरीका होगा। वैकल्पिक रूप से आप अपनी खुद की एन्क्रिप्शन कक्षा लिखना चाहेंगे, इस HERE के समान, आप कुछ ऐसा एन्क्रिप्ट करना चाहेंगे जो आप यूआरएल में पास करना चाहते हैं।

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

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