javascript加密PHP解密---jsencrypt

摘要:
今天,我无意中发现了jsencrypt。在“直播聊天”期间,明文数据传输的问题没有得到解决;我一直在努力寻找技术解决方案。今天,我几乎找不到一个;原理:javascript加密和PHP解密;完全依赖openssl;I什么是openssl?它集成了许多加密算法和实用工具rsa加密过程;(今天,我只讨论许多加密方法中的一种)1.在当前文件夹中生成包含“公钥”和“私钥”的文本文件;名称测试。键[root@iZ
   今天偶然发现jsencrypt这玩意,之前做"直播室聊天"时 数据传输明文问题没解决; 一直苦苦寻找技术解决方案今天勉强找了个;
   原理:javascript加密PHP解密; 完全依赖openssl;

    一. openssl 是干嘛的
         它集成了众多密码算法及实用工具
         
         rsa加密流程;(今天只讲众多加密方式中的一种)
           1. 在当前文件夹下生成一个包含 "公钥""私钥" 两部分内容的文本文件; 命名test.key
           [root@iZ28pw7sv4qZ openssl]#openssl genrsa -out test.key 1024
           
           2.将这个文本文件中的“公钥”提取出来: 命名test_pub.key
           [root@iZ28pw7sv4qZ openssl]#openssl rsa -in test.key -pubout -out test_pub.key

           3.创建一个hello.txt的文本文件,然后利用此前生成的公钥加密文件;
           [root@iZ28pw7sv4qZ openssl]#echo "1234561122" > ./hello.txt
           [root@iZ28pw7sv4qZ openssl]#openssl rsautl -encrypt -in hello.txt -inkey test_pub.key -pubin -out hello.en.txt 

           4.解密文件
            [root@iZ28pw7sv4qZ openssl]#openssl rsautl -decrypt -in hello.en.txt -inkey test.key -out hello.de.txt
           
            5.解析后的结果
            [root@iZ28pw7sv4qZ openssl]# cat hello.de.txt 

     二. jsencrypt.js这个文件定义了一个JSEncrypt方法  可以去git搜一下 对于此篇文档就不展开太多
           使用步骤
             var res = new JSEncrypt  
            res.setPublicKey('---这里就填写test_pub.key文件中的字符串内容---'); //设置公有key
            var temp = res.encrypt("123456789罗源县中华失联飞机安抚拉斯加 大是的发生两地");//利用刚设好的key 对明文进行加密;
            var data = encodeURI(temp).replace(/+/g, '%2B'),  //+号的处理:  加密完成后就可以ajax传送了  

下载地址: http://files.cnblogs.com/files/sixiong/openssl.zip

免责声明:文章转载自《javascript加密PHP解密---jsencrypt》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Frida Android hook native层__system_property_get的最终方案/etc/pam.d 与 /etc/security 密码策略下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP输入流php://input介绍

在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input 对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。 “php://input allows you to read raw POST data. It...

php 保存编辑器内容中的远程图片为本地图片

有时,我们的编辑器复制过来的图片是远程的,需要下载到本地服务器上。 1、提取远程图片 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ private function getImage($url,$filename='...

超级菜菜鸟全程架站攻略(Mysql+Apche+PHP+Phpmyadmin+Zend,含本机安装)

作者:蚂蚁啃骨头 时间:2005年5月1日欢迎访问蚂蚁啃骨头社区:http://bbs.mykgt.com——本文是我5月份刚学PW一个来月时写的攻略,因自己对语言一窍不通,只好自己琢磨+摸索,用了1个通宵研究出来的。今日有朋友问我架设方法,才想起俺写过这么个东西,一直没拿出来发表,今日赶紧补上:)不是超级菜鸟的可以不往下看了哈,呵呵注意:实际应用中MYS...

JAVA读取yml配置文件指定key下的所有内容

先引入需要的依赖 <!--读取yml文件--> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId>...

php 在docker 中使用composer 报内存溢出的解决方法

最近 需要用到有盟的推送,不想自己写,准备在github上面找个来改改,本地用的环境是docker 镜像,然后在docker 中 composer 时的时候,报了一个错 docker exec -it www /bin/bash root@85c8ee9b5e27:/var/www/html/newyouchengdu# composer require...

C# 通过ServiceStack 操作Redis——List类型的使用及示例

Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, /// <summary> /// Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, /// Redis内部的很多实现,包括发送缓冲队列等也都是用的这...