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
  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/sixiong/p/5885111.html
Copyright © 2011-2022 走看看