网页端(在没有https情况下)给密码之类的加密传输,虽然多此一举,也好过直接监控软件就能看到密码
在传输密码的时候,先向后台获取一个随机码或者验证码,作为秘钥,网页端根据这个秘钥,加密要传输的数据,服务端先验证验证码是否正确,如果验证正确,根据验证码进行数据解密 fox.风
下载地址: 1.https://code.google.com/archive/p/crypto-js/downloads2.https://github.com/brix/crypto-js/tree/release-3.1.2 (build 目录下)先加载js文件
<script src="crypto-js/rollups/aes.js" type="text/javascript"></script><script src="crypto-js/rollups/md5.js" type="text/Javascript"></script><script src="crypto-js/components/pad-zeropadding-min.js" type="text/javascript"></script>/** * 加密 */function encrypt(str,key) { key = CryptoJS.enc.Utf8.parse(key?key:"1111111111111111");// 秘钥 var iv= CryptoJS.enc.Utf8.parse('1234567890123412');//向量iv var encrypted = CryptoJS.AES.encrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return encrypted.toString();}/** * 解密 * @param str */function decrypt(str) { var key = CryptoJS.enc.Utf8.parse("1111111111111111");// 秘钥 var iv= CryptoJS.enc.Utf8.parse('1234567890123412');//向量iv var decrypted = CryptoJS.AES.decrypt(str,key,{iv:iv,padding:CryptoJS.pad.ZeroPadding}); return decrypted.toString(CryptoJS.enc.Utf8);}//调用//加密console.log(encrypt("12345"));//解密console.log(decrypt("待解密字符"));实际使用
JS
//加密部分要改造一下/** * 加密 */function encrypt(str,key) { key = CryptoJS.enc.Utf8.parse(CryptoJS.MD5(key).toString());//秘钥 var iv= CryptoJS.enc.Utf8.parse('1234567890123412');//向量iv var encrypted = CryptoJS.AES.encrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return encrypted.toString();}//验证码 转换成大写var username=$('#username').val();//获取用户名var pwd=$('#pwd').val();//获取密码var verify=$('#verify').val();//获取验证码verify = verify.toUpperCase();var json = {username: username, pwd: pwd};//被加密的数据var aes = encrypt(JSON.stringify(json), verify);//加密var param = {verify: verify, param: aes};$.post("/user/login?_=" + new Date().getTime(), param, function (data) { if (data) { ... } else { .... }}, "json");PHP$verify=input('verify');//验证码$param=input('param');//加密后数据//先转换成大写//然后MD5$json=AesJs::decrypt($param,md5(strtoupper($verify)));echo $json;$arr=json_decode($json,true);print_r($arr);来源http://blog.csdn.net/momo_mutou/article/details/44240371
新闻热点
疑难解答
图片精选