先后端交互时为了保证信息安全可以使用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