前端RSA加密及压缩base64
来源:互联网 发布:java常量命名规范 编辑:程序博客网 时间:2024/06/14 10:46
加密:jsencrypt:https://github.com/travist/jsencrypt
压缩及base64:pako:https://github.com/nodeca/pako
参考:
jsencrypt http://www.cnblogs.com/zhaoyihao/p/5345784.html
pako http://blog.csdn.net/lan_liang/article/details/53924693
<!doctype html><html> <head> <title>JavaScript RSA Encryption</title> <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script><script src="bin/jsencrypt.min.js"></script> <script src="bin/pako.min.js"></script> <script type="text/javascript"> </script> </head> <body><a href="javascript:rsa();">加密</a><br/><br/><a href="javascript:unRsa();">解密</a> <script>var b64Data = 'H4sIAAAAAAAAAJ3UMQ7CMAwF0KugP2ewEzdpcxXUAbWAOiHUMqCqdyeVQAobfGXIYL8hP5ZXnEdkeNEk6vUgXTbLonC4zMjHFY/5Wm511ekdTsOCLKVp2rlIKOA2jTuBot/cr7BhobEwsbAloY8kDGyqoQ5H/oHsdwQ21cCmaspCz0L2jcYOgLHhNGw4TT1yVmBpuS9PZHWY35siqnxvimEvpE9FY4peQhfbhO0FDnuFqWAEAAA='; var ticketData = '{"ed":"20170121 09:44:01","fs":[{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"003","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"005","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"004","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"007","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"008","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"026","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"033","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"034","oids":["0"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"035","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"037","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"038","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"041","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"042","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"047","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"046","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"048","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"051","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"053","oids":["4"]}],"qty":1,"sd":"20161021 09:44:01","cd":"72016102116762039687"}'; // Output to console //加密var prk='MIICXQIBAAKBgQDlOJu6TyygqxfWT7eLtGDwajtNFOb9I5XRb6khyfD1Yt3YiCgQWMNW649887VGJiGr/L5i2osbl8C9+WJTeucF+S76xFxdU6jE0NQ+Z+zEdhUTooNRaY5nZiu5PgDB0ED/ZKBUSLKL7eibMxZtMlUDHjm4gwQco1KRMDSmXSMkDwIDAQABAoGAfY9LpnuWK5Bs50UVep5c93SJdUi82u7yMx4iHFMc/Z2hfenfYEzu+57fI4fvxTQ//5DbzRR/XKb8ulNv6+CHyPF31xk7YOBfkGI8qjLoq06V+FyBfDSwL8KbLyeHm7KUZnLNQbk8yGLzB3iYKkRHlmUanQGaNMIJziWOkN+N9dECQQD0ONYRNZeuM8zd8XJTSdcIX4a3gy3GGCJxOzv16XHxD03GW6UNLmfPwenKu+cdrQeaqEixrCejXdAFz/7+BSMpAkEA8EaSOeP5Xr3ZrbiKzi6TGMwHMvC7HdJxaBJbVRfApFrE0/mPwmP5rN7QwjrMY+0+AbXcm8mRQyQ1+IGEembsdwJBAN6az8Rv7QnD/YBvi52POIlRSSIMV7SwWvSK4WSMnGb1ZBbhgdg57DXaspcwHsFV7hByQ5BvMtIduHcT14ECfcECQATeaTgjFnqE/lQ22Rk0eGaYO80cc643BXVGafNfd9fcvwBMnk0iGX0XRsOozVt5AzilpsLBYuApa66NcVHJpCECQQDTjI2AQhFc1yRnCU/YgDnSpJVm1nASoRUnU8Jfm3Ozuku7JUXcVpt08DFSceCEX9unCuMcT72rAQlLpdZir876'var pbk='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylJ6pyOuAEWMwv7NOpECzc/3uBZO4QaZ5BMbJQMEVKXFkgWvzOd2aBz65z70/679joELF/YamKHxPazpPrWz1za5hEpjm/6YOxlKHhAyMkcHaqeTZT8fP9gI6nBEyUB6glkXhNlcHxBttXpZn3B628VeGovpsWzV6DbLYIgTAvN1kU1INnNzYhAYzXORkwS1wGYFOSc26v5hiMO3KjnHudpqD7JYgDGU85nSD82z9FHFDJctDpUro65LjwGEO2EAl1zcWPdUImFbJ2ojyh1kpSgG6qjKIxLa8kxOx+9DtvMBkL07zebP9m8a7CKDkTd2qOoio4emX1xTFj/f91DuiQIDAQAB'var ect = new JSEncrypt(); ect.setPublicKey(pbk);var ectStr='',zipStr='';//加密function rsa(){var pData={name:'kaisa11fasdfasdf',pwd:'a123456fasdfasdf'}ectStr=ect.encrypt(JSON.stringify(pData));//加密zipStr = zip(ectStr);//压缩base64console.log("zipped:");console.log(rsaStr);}//解密function unRsa(){//解压base64var s = unzip(rsaStr);console.log("unzipped:"); console.log(s); //解密var decrypt = new JSEncrypt(); decrypt.setPrivateKey(prk); var uncrypted = decrypt.decrypt(ectStr);} function unzip(b64Data){ var strData = atob(b64Data); // Convert binary string to character-number array var charData = strData.split('').map(function(x){return x.charCodeAt(0);}); // Turn number array into byte-array var binData = new Uint8Array(charData); // // unzip var data = pako.inflate(binData); // Convert gunzipped byteArray back to ascii string: strData = String.fromCharCode.apply(null, new Uint16Array(data)); return strData; } function zip(str){ var binaryString = pako.gzip(str, { to: 'string' }); return btoa(binaryString); }</script> </body></html>
阅读全文
0 0
- 前端RSA加密及压缩base64
- RSA+Base64加密
- RSA+SHA256+BASE64对数据进行加密解密及校验
- RSA前端加密后端解密
- RSA前端加密后端解密
- iOS - 加密 Base64 MD5 DES AES RSA
- Android中RSA+BASE64加密解密
- golang实现md5、RSA、base64 加密解密
- RSA 加密-重写base64 适用于反射
- Android网络传输中必用的两个加密算法:MD5 和 RSA 及Base64加密总结
- 前端jq-MD5加密 + js-base64加密
- RSA加密解密及数字签名
- RSA 加密及算法实现
- RSA加密及验证签名
- RSA加密解密及证书
- base64+gzinflate压缩编码(加密)文件
- android zip压缩base64解密加密
- RSA前端加密,java后台解密
- java八大基本类型取数范围
- leetcode--Binary Tree Inorder Traversal
- 如何解决 mysql Data truncated for column 的错误
- 递归与迭代 的区别
- springboot-cloud-2-ribbon
- 前端RSA加密及压缩base64
- php程序员应该具备的七种能力
- android studio快捷键需要注意的地方
- hibernate4,onetomany
- LeetCode 516. Longest Palindromic Subsequence--最长回文子序列长度
- 反向代理服务器工作原理及示例
- NSPredicate 的使用总结
- HNUSTOJ 1604:Operations
- java中方法的重载与重写的区别