zoukankan      html  css  js  c++  java
  • javascript加密PHP解密---jsencrypt

       今天偶然发现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
  • 相关阅读:
    炒鸡简单的视频站
    wpf 禁用启用webbroswer右键菜单
    微信小程序怎么获取当前页面的url
    wpf获取webbroswer的两个方法
    WPF使用Webbrowser操作网页的主要代码
    wpf获取目录路径
    c:if标签--判断不为空和其他的值判断
    Mybatis自动生成Xml文件,针对字段类型为text等会默认产生XXXXWithBlobs的方法问题
    Java集合系列之HashMap
    html自动刷新
  • 原文地址:https://www.cnblogs.com/sixiong/p/5885111.html
Copyright © 2011-2022 走看看