先後端交互時爲了保證信息安全可以使用RSA方式加密信息,在數據量大的時候可採用DES+RSA結合方式。 DEMO演示地址
1976年之前,全部的加密方法都是同一種模式:
(1)甲方選擇某一種加密規則,對信息進行加密;
(2)乙方使用同一種規則,對信息進行解密。因爲加密和解密使用一樣規則(簡稱"密鑰"),這被稱爲"對稱加密算法"(Symmetric-key algorithm)。
這種加密模式有一個最大弱點:甲方必須把加密規則告訴乙方,不然沒法解密。保存和傳遞密鑰,就成了最頭疼的問題。
1977年,三位數學家Rivest、Shamir 和 Adleman 設計了一種算法,能夠實現非對稱加密。這種算法用他們三我的的名字命名,叫作RSA算法。從那時直到如今,RSA算法一直是最廣爲使用的"非對稱加密算法"。絕不誇張地說,只要有計算機網絡的地方,就有RSA算法。php
請確保PHP的openssl擴展開啓,且保證php在環境變量中,若是是windows需添加環境變量:名 OPENSSL_CONF,值 D:\http\php\extras\ssl\openssl.cnf(根據openssl.cnf目錄而定);
php rsa.php new
// 初始化參數,設置公鑰與私鑰的路徑 rsa::$prikey = 'src/key/private.pem'; rsa::$pubkey = 'src/key/public.pem'; // JavaScript腳本生成位置,用於從新生成公私鑰 rsa::$script = 'rsa_pubkey.js'; // $model = 1 公鑰加密,私鑰解密:公開公鑰,保存私鑰 // $model = 2 私鑰加密,公鑰解密:公開私鑰,保存公鑰 rsa::$model = 1; // RSA加密 rsa::encrypt($data); // RSA解密 rsa::decrypt($data); // RSA簽名 rsa::sign($data); // RSA驗籤 rsa::verify($data, $sign);
js加密來源於開源項目 jsencrypt本文出自我的博客 最好的安排 轉載請註明出處!html