root@DESKTOP-I4OIMJC /cygdrive/e/html/RSA_JS_PHP/openssl/bin
# ./openssl.exe
OpenSSL> genrsa -out rsa_private_key.pem
Loading 'screen' into random state - done
Generating RSA private key, bit long modulus
.....................................................................++++++
......................++++++
e is (0x10001)
OpenSSL> genrsa -out rsa_private_key.pem
Loading 'screen' into random state - done
Generating RSA private key, bit long modulus
...............................................................................................++++++
............++++++
e is (0x10001)
OpenSSL> rsa -in rsa_private_key.pem -noout -modulus
Modulus=C70D43D53EE782B91C10A40873C67C6FD07BBF36B71E692DC3605BFC314A6A07AE5C3B8EACBE1ACC4A6231DE06F626C2DDD47DD68D5BFDC1D3448A8F3C74E8F4DD70E31C4760DB105A40B14245E7F074146E25B9D30DBBA24A1640A261F1240B32D9C323F26FE0F64C91DCAECF40017DD275147FA0D7E15EECD1455D8E8A30EB

login.html

<html>
<head>
<title>RSA Login Test</title>
<meta charset="utf-8">
<script type="text/javascript" src="./js/jsbn.js"></script>
<script type="text/javascript" src="./js/prng4.js"></script>
<script type="text/javascript" src="./js/rng.js"></script>
<script type="text/javascript" src="./js/rsa.js"></script>
<script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script> <script type="text/javascript">
function cmdEncrypt() {
var passwd = $('#passwd').val();
var rsa = new RSAKey();
var modulus = "B4232EEB8B0177E26CC5F5C8AD2ACB6D0619880F1EF48EF46039C5291FBF5B0525B745753F6C98C5A5410CD1C51B359C57D4FA3590C25F1ACE4EEB41BBE44727140D8F6E3EC39CF89C61A001159544BF64F3AE7D38FA99DF51324112D8CC2BEC8ADB0C17D35D36B7D4954CC5A4AA0A5F1757FDA51B4E0493F653925AC26773FF";
var exponent = "10001";
rsa.setPublic(modulus, exponent);
var res = rsa.encrypt(passwd); $('#passwd').val(res);
}
</script> </head>
<body>
<form action="./login.php" method="post" >
<label for="username">用户名:</label><input type="text" name="username" id="username">
<label for="passwd">密 码:</label><input type="password" name="password" id="passwd">
<input type="submit" value="登录" onclick="cmdEncrypt();">
</form>
</body>
</html>

login.php

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/3/14
* Time: 9:48
*/
header('Content-type:text/html;charset=utf-8'); //私钥
$private_key = "-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQC0Iy7riwF34mzF9citKsttBhmIDx70jvRgOcUpH79bBSW3RXU/
bJjFpUEM0cUbNZxX1Po1kMJfGs5O60G75EcnFA2Pbj7DnPicYaABFZVEv2Tzrn04
+pnfUTJBEtjMK+yK2wwX0102t9SVTMWkqgpfF1f9pRtOBJP2U5Jawmdz/wIDAQAB
AoGAKnSYXF9Yqz6sUEPLVjTd2QY1AkI+E3mV0xAKjdSzruoZp4YxSg94OizmlfTi
tbT+8hx6FCHYDb4tnaAI0BXPRttTAMI+/ErF740cA/kTcXhCu0NbMiAcMGqFqzMG
EQpWvfYmGrWfd9MKIltC7aLknFFiDx9izDfIAfQLBV/706ECQQDX/0XN7cf5uezg
OG71sLzkoZHrrfhideP8wnHVUUk2usve/eF4VdFMx84QSJWMwMd0U5LqXzhrgD/g
eOhd2S1pAkEA1X/APcW4awXD+TUrFVQH18bN0jc2VHsV1hN/aLum4hrWAevsX9UW
ST1qf7lXA8ryqRw1Z2cRJYUuiwQTgd8hJwJAbSJMybyfsrzPQ4cgAUF4X2iHSvZO
rqj0NaylSWvVuzJsedH7DwsFQm8d3bpe3Yw1+r+TVpof7qkRHUDZ3zkxKQJBAL1+
PeqV6zFSVLaD8lFj2/Iwic3jI12oQaFYfOVAaMaWewwJkiscvkMTN8tVfV3oa6id
WOkGGbnrk3vfilDi8lECQDNgYY4gGpo3+rnmPlh8vKuTSzdfn9t4ucpfSswX7Nvs
t8+TtmwnreM7HI7xeh+8s4Q1TmAFVbRkjwwDbDtknP4=
-----END RSA PRIVATE KEY-----"; $hex_encrypt_data = trim($_POST['password']); //十六进制数据
$encrypt_data = pack("H*", $hex_encrypt_data);//对十六进制数据进行转换
openssl_private_decrypt($encrypt_data, $decrypt_data, $private_key); echo '解密后的数据:' . $decrypt_data;

RSA_JS_PHP加密解密的更多相关文章

  1. PHP的学习--RSA加密解密

    PHP服务端与客户端交互或者提供开放API时,通常需要对敏感的数据进行加密,这时候rsa非对称加密就能派上用处了. 举个通俗易懂的例子,假设我们再登录一个网站,发送账号和密码,请求被拦截了. 密码没加 ...

  2. 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输

    Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...

  3. .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现

    场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组. 问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距 分析:平台不 ...

  4. php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密

    PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加 ...

  5. c#和js互通的AES加密解密

    一.使用场景 在使用前后端分离的框架中常常会进行传输数据相互加密解密以确保数据的安全性,如web Api返回加密数据客户端或web端进行解密,或者客户端或web端进行加密提交数据服务端解密数据等等. ...

  6. PHP AES的加密解密

    AES加密算法 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...

  7. [PHP]加密解密函数

    非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...

  8. 非对称技术栈实现AES加密解密

    非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的 ...

  9. 【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解

    原文地址:http://docode.top/Article/Detail/10003 目录: 1..Net(C#)平台下Des加密解密源代码 2..Net(C#)平台下Aes加密解密源代码 3..N ...

随机推荐

  1. Python IDLE 的使用与调试

    Python IDLE 是Python 安装包自带的集成开发环境.IDLE集成了Python 解释器.编辑器与调试器.适用于初学者了解Python 语法知识.1.使用 Python IDLE 编辑Py ...

  2. tcp流式套接字和udp数据报套接字编程区别

    1. 流式套接字采用字节流方式进行传输,而数据报套接字 使用数据报形式传输数据2. tcp套接字会产生粘包,udp有消息边界,不会形成粘包.3. tcp编程可以保证消息的完整性,udp则不能保证4. ...

  3. SEO中H1标签的用法- 1

    在网上找了很多关于H1标签对SEO意义的资料,不可否认H1对SEO具有重大的意义,但是具体情况每个人有每个人的见解吧.这里主要根据网上搜索的资料,以及自己的一些经验整理出来的,但是本人毕竟不是专业SE ...

  4. vps上搭建jupyter notebook远程服务

    安装anaconda 使用如下命令下载: wget https://repo.continuum.io/archive/Anaconda3-5.0.0.1-Linux-x86_64.sh 如果非roo ...

  5. BloomFilter ——大规模数据处理利器

    BloomFilter——大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求 ...

  6. java运行jar命令提示没有主清单属性和找不到主类

    推荐一个java运行jar命令提示没有主清单属性的百度经验的链接:https://jingyan.baidu.com/article/db55b60990f6084ba30a2fb8.html jav ...

  7. 使用python处理selenium中的鼠标悬停问题

    # 导入selenium中的actionchains的方法 from selenium.webdriver.common.action_chains import ActionChains #识别需要 ...

  8. 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

    UWP 才能使用的流畅设计效果好惊艳,写新的 UWP 程序可以做出更漂亮的 UI 啦!然而古老的 WPF 项目也想解解馋怎么办? 于是我动手实现了一个!   迫不及待看效果 ▲ 是不是很像 UWP 中 ...

  9. 转载——关于bp神经网络

    一.BP神经网络的概念     BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的.具体来说,对于如下的只含一个隐层的神经网络模型: (三层BP神经网络模型) ...

  10. linux 系统下配置tomcat,并给tomcat赋予最高操作权限,启动tomcat和关闭tomcat

    配置tomcat服器 sudo chmod -R 777 * 给某个文件下所有文件赋予最高的读写权限 红颜色的字是路径,蓝颜色字是命令 (1)官方网站下载tomcat压缩包.apache-tomcat ...