• PHP加密JS解密 base64


    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;
    }
  • 相关阅读:
    讲解SQL Server危险扩展存储删除和恢复
    新生活
    邮件发送作业调度 创建操作员
    Linux 定时任务 crontab
    短信猫二次开发接口函数及规范
    Linux修改用户shell
    Linux里$等记得转义
    网页标题前出现的图标
    Linux读书笔记
    DataStage通过分析日志获取Job插入目标表的记录数
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/15169973.html
Copyright © 2020-2023  润新知