前端javascript通过RSA公钥加密,PHP后端通过RSA私钥解密实现密码安全传输

很多网站包括大型网站在重要信息比如密码依然还是采用明文传输的方式,安全隐患需要注意。当然,为了防止第三人的恶意窃听,不少网站已经启用了HTTPS的加密传输。下面我们来做,http协议通过RSA来给重要信息加密。
一、创建私钥和公钥
1、我的上篇文章《phpStudy OpenSSL 生成RSA加解密所需要的公私钥?》可以创建私钥和公钥
2、通过支付宝一键生成工具:https://docs.open.alipay.com/58/103242,windows:下载
二、JS RSA公钥加密

下载:https://github.com/travist/jsencrypt
js里加载上bin目录下jsencrypt.min.js

var public_key = "-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQWiDVZ7XYxa4CQsZoB3n7bfxLDkeGKjyQPt2FUtm4TWX9OYrd523iw6UUqnQ+Evfw88JgRnhyXadp+vnPKP7unormYQAfsM/CxzrfMoVdtwSiGtIJB4pfyRXjA+KL8nIa2hdQy5nLfgPVGZN4WidfUY/QpkddCVXnZ4bAUaQjXQIDAQAB
-----END PUBLIC KEY-----";
var encrypt = new JSEncrypt();
encrypt.setPublicKey(public_key);
var password = "123456mm";
var password = encrypt.encrypt(password); // 密码加密,加密后的密文是base64

三、PHP RSA 私钥解密

$private_key = "-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC+L0rfjLl3neHleNMOsYTW8r0QXZ5RVb2p/vvY3fJNNugvJ7lo4+fdBz+LN4mDxTz4MTOhi5e2yeAqx+v3nKpNmPzC5LmDjhHZURhwbqFtIpZD51mOfno2c3MDwlrsVi6mTypbNu4uaQzw/TOpwufSLWF7k6p2pLoVmmqJzQiD0QIDAQABAoGAakB1risquv9D4zX7hCv9MTFwGyKSfpJOYhkIjwKAik7wrNeeqFEbisqv35FpjGq3Q1oJpGkem4pxaLVEyZOHONefZ9MGVChT/MNH5b0FJYWl392RZy8KCdq376Vt4gKVlABvaV1DkapL+nLh7LMo/bENudARsxD55IGObMU19lkCQQDwHmzWPMHfc3kdY6AqiLrOss+MVIAhQqZOHhDe0aW2gZtwiWeYK1wB/fRxJ5esk1sScOWgzvCN/oGJLhU3kipHAkEAysNoSdG2oWADxlIt4W9kUiiiqNgimHGMHPwp4JMxupHMTm7D9XtGUIiDijZxunHv3kvktNfWj3Yji0661zHVJwJBAM8TDf077F4NsVc9AXVs8N0sq3xzqwQD/HPFzfq6hdR8tVY5yRMb4X7+SX4EDPORKKsgnYcur5lk8MUi7r072iUCQQC8xQvUne+fcdpRyrR4StJlQvucogwjTKMbYRBDygXkIlTJOIorgudFlrKP/HwJDoY4uQNl8gQJb/1LdrKwIe7FAkBl0TNtfodGrDXBHwBgtN/t3pyi+sz7OpJdUklKE7zMSBuLd1E3O4JMzvWP9wEE7JDb+brjgK4/cxxUHUTkk592
-----END RSA PRIVATE KEY-----";
$password = $_POST['password'];
/*RSA 私钥解密*/
function decrypt($password){
            if (!$password) {
                return false;
            }
            if(!openssl_private_decrypt(base64_decode($password), $decrypt_password, $private_key )) {
                return false;
            }
            return $decrypt_password,;
        }

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对北漂的程序猿的支持。

《前端javascript通过RSA公钥加密,PHP后端通过RSA私钥解密实现密码安全传输》有3个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注