2010-01-03 49 views
5

我如何使用密鑰加密php的東西?我寧願不必安裝Mcrypt。我還需要加密才能很強大。使用php加密

+0

可能重複的[PHP,最簡單的雙向加密](http://stackoverflow.com/questions/9262109/php-simplest-two-way-encryption) – 2016-01-27 18:03:25

回答

1

怎麼樣phpseclib與如。 AES?在可用的地方使用mcrypt,否則使用本地PHP實現。當然這會很慢,但這是不可避免的。

0

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

...隨着PGP和其它公共密鑰加密方法,有沒有辦法來推斷從公鑰某人的私有密鑰。

... PGP的另外一個特點是,對私鑰密碼是不是一個真正的密碼;這是一個密碼。它可以是一個完整的說法,包括標點,空格和各種角色。

...使用基於PGP的公共密鑰加密的一種方法是使用GNU隱私衛士(GPG)。任何使用GPG加密的郵件都可以使用GPG,PGP或任何支持這兩種程序的電子郵件客戶端插件進行解密。在該示例中,在線表單接受用戶輸入,包括消息;使用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

問題說單向哪裏? – 2010-01-03 02:50:04

0

對於單向加密,我總是用phpass

我相信它會嘗試一些加密方法和回落的情況下,他們無法使用您的構建。

0

嘗試openssl_xxx函數。那裏有RSA和Diffie-Hellmann。也許更多,我只與這些工作。

0

使用內置的PHP函數和可用的庫許多的人會是最好的方式。或者你可能想編寫自己的加密類,類似於這個HERE 因爲你可能想加密你想傳遞給URL的東西。