[英]encryption with php
如何使用 php 使用密鑰加密事物? 我寧願不必安裝 Mcrypt。 我還需要加密非常強大。
phpseclib與例如怎么樣。 AES? 將在可用的情況下使用 mcrypt,否則將使用原生 PHP 實現。 當然,這會很慢,但這是不可避免的。
來自http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/ :
... 使用 PGP 和其他公鑰加密方法,無法從公鑰中推斷出某人的私鑰。
... PGP 的一個附加功能是私鑰的密碼並不是真正的密碼。 這是一個密碼。 它可以是一個完整的說法,包括標點符號、空格和各種字符。
... 使用基於 PGP 的公鑰加密的一種方法是使用 GNU Privacy Guard (GPG)。 任何使用 GPG 加密的消息都可以使用 GPG、PGP 或任何數量的支持任一程序的電子郵件客戶端插件來解密。 在示例中,在線表單接受用戶輸入,包括消息; 使用 GPG 為特定收件人加密該消息; 然后發送它。
例子:
<?php
//set up users
$from = "webforms@example.com";
$to = "you@example.com";
//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");
?>
對於單向加密,我總是使用phpass
我相信它會嘗試一些加密方法並回退以防它們在您的構建中不可用。
嘗試 openssl_xxx 函數。 里面有 RSA 和 Diffie-Hellman。 也許更多,我只使用這些。
使用眾多內置 php 函數和可用庫之一將是最好的方法。 或者,您可能想要編寫自己的加密類,類似於這里的一個,以防您可能想要加密要在 URL 中傳遞的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.