zoukankan      html  css  js  c++  java
  • PHP加密JS解密

    PHP加密:

    function strencode2($string) {   
        $string = base64_encode ( $string );   
        $key = '123456';   
        $len = strlen ( $key );   
        $code = '';   
        for($i = 0; $i < strlen ( $string ); $i ++) {   
            $k = $i % $len;   
            $code .= $string [$i] ^ $key [$k];   
        }   
        return base64_encode ( $code );   
    }    
    echo strencode2('hello world');//得到加密字符串UHVlR1dxCVVXBgxPU3ViCQ==

    JavaScript解密:

    var string = 'UHVlR1dxCVVXBgxPU3ViCQ==';
    key = '123456';   
    string = base64_decode(string);   
    len = key.length;   
    code = '';   
    for (i = 0; i < string.length; i++) {   
        k = i % len;   
        code += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k));   
    }   
    alert("解密结果="+base64_decode(code));

    //base64解密函数
    function base64_decode(data) { var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, dec = "", tmp_arr = []; if (!data) { return data; } data += ''; do { // unpack four hexets into three octets using index points in b64 h1 = b64.indexOf(data.charAt(i++)); h2 = b64.indexOf(data.charAt(i++)); h3 = b64.indexOf(data.charAt(i++)); h4 = b64.indexOf(data.charAt(i++)); bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; o1 = bits >> 16 & 0xff; o2 = bits >> 8 & 0xff; o3 = bits & 0xff; if (h3 == 64) { tmp_arr[ac++] = String.fromCharCode(o1); } else if (h4 == 64) { tmp_arr[ac++] = String.fromCharCode(o1, o2); } else { tmp_arr[ac++] = String.fromCharCode(o1, o2, o3); } } while (i < data.length); dec = tmp_arr.join(''); return dec; }
  • 相关阅读:
    毕业面试试题汇总
    js获取系统日期
    非常酷的3D翻转相册展示特效
    CSS 替换元素和非替换元素 行内非替换元素
    怎样在linux下编写C程序并编译执行
    库和框架的区别
    转载:em(倍)与px的区别
    RPMForge介绍及安装
    linux下安装jdk和配置环境变量
    PCI PCI-X PCI-E介绍
  • 原文地址:https://www.cnblogs.com/codeit/p/14267749.html
Copyright © 2011-2022 走看看