JS与PHP通过RSA加密传输密码
第一次写加密传输时网上看了一些博客将如何实现的,但实际过程中碰到了一些麻烦,一直没成功,现在搞定了来总结一下以便以后参考。
实现主要都是参考http://www.ohdave.com/rsa/提供的开源代码及demo,详细可查看该网址英文说明。
首先在linux服务器运行如下指令生成2048位的私钥:
openssl genrsa -out private_key.pem 2048
Linux里如果生成了SSH Key,直接用.ssh/下的id_rsa密钥也可以。
运行如下指令可查看对应公开指数e:
openssl rsa -inform PEM -text -noout < private_key.pem
上图e的十六进制数为默认的10001。
最后运行如下指令生成十六进制公钥:
openssl rsa -inform PEM -modulus -noout < private_key.pem
所生成公钥为”Modulus=”后面的字符串,之后将该字符串作为JS加密所用十六进制公钥。
如下JS前端代码加密需要使用http://www.ohdave.com/rsa/中提供的三个JS文件,下载位置如下图所示:
JS前端加密
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JS前端RSA加密<