用rsa加密登入密碼(js php)

2021-08-15 07:59:29 字數 954 閱讀 3173

1、首先檢查裝置上是否已經存在openssl庫(一般的linxu都會自帶有),

然後生成私鑰和公鑰:

私鑰:openssl genrsa -out /etc/dev_cert/php_private.key 2048

公鑰:openssl rsa -in /etc/dev_cert/php_private.key -pubout -out /etc/dev_cert/php_public.key

3、返回js需要的公鑰:openssl rsa -pubin  -noout -modulus -in /etc/dev_cert/php_public.key

4、js需要載入rsa庫,all.min.js(

5、js根據php返回的公鑰對密碼進行加密:

this.public_key; //通過ajax獲取php返回的公鑰

var rsa = new rsakey();

rsa.setpublic(this.public_key, "10001");

return rsa.encrypt(data);

var pwdobj = $("#login_password");

pwdobj.val(encrypt.encrypt(pwdobj.val()));

6、最後php對密碼進行解密:

$encrypt_data = pack("h*", trim($encrypt_data)); //對十六進製制資料進行轉換

$private_key = $this->get_private_key(); //讀取私鑰檔案內容

openssl_private_decrypt($encrypt_data, $decrypt_data, $private_key); //解密資料

return $decrypt_data;

RSA加密登入(公鑰加密登入) 安全登入

登入 註冊 支付 基本都要用到加密方案 加密原理 後台生成rsa金鑰對,然後在登陸頁面設定rsa公鑰,提交時用公鑰加密密碼,生成的密文傳到後台,用私鑰解密,獲取密碼明文。前端運用rsa技術進行加密簡單來說分為以下幾步驟 0 4 0.md5加密 引入md5的js,然後使用var md5password...

RSA流密碼互補加密

rsa加密具有非對稱性可以完成諸如數字簽名及驗籤之類的事情,這是對稱密碼所不能完成的,但是能加密的內容很少速度較慢,且金鑰冗長不便於使用。而流密碼加密是一種對稱加密簡單並且安全性很高,且速度很快能加密的資訊量很大。如果將兩者結合起來就能做出一種能完成數字認證又能快速加密大量資訊的軟體。實際上只要簡單...

rsa演算法非對稱加密登入

對稱加密 即加密解密的都是乙個秘鑰 eg des 也就是說他是暴露在外面的可以被攔截,所以相對不夠安全 非對稱加密 就分為私鑰和公鑰,用其中乙個進行加密則要用另乙個來解密 eg rsa,ecc 這種只有公鑰是暴露的,但是解密的私鑰是隱藏的,最好再搞個定時任務去更新秘鑰,這就比對稱加密要安全很多了 關...