zoukankan      html  css  js  c++  java
  • javascript Base64 加密解密方法

    引用:

    <script type="text/javascript" src="/public/js/cryptoJs/core-min.js"></script>
    <script type="text/javascript" src="/public/js/cryptoJs/enc-base64-min.js"></script>
            // base64 加密
            function base64_encode(val){
                var str=CryptoJS.enc.Utf8.parse(val);
                var base64=CryptoJS.enc.Base64.stringify(str);
                return base64
            }
             // base64 解密
             function base64_decode(val){
                var words  = CryptoJS.enc.Base64.parse(val);
                var deBase64 = words.toString(CryptoJS.enc.Utf8)
                return deBase64
            }
    // 引用方式
    var
    baseContent = base64_encode(content) // base64 加密

    vue   版本 :

    import { Base64 } from 'js-base64';
     Base64.encode(str),  // 加密
    export const base64 = (input) => {
      input += '';
      // base64加密开始
      const keyStr =
        'ABCDEFGHIJKLMNOP' +
        'QRSTUVWXYZabcdef' +
        'ghijklmnopqrstuv' +
        'wxyz0123456789+/' +
        '=';
      let output = '';
      let chr1,
        chr2,
        chr3 = '';
      let enc1,
        enc2,
        enc3,
        enc4 = '';
      let i = 0;
      do {
        chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);
        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;
        if (isNaN(chr2)) {
          enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
          enc4 = 64;
        }
        output =
          output +
          keyStr.charAt(enc1) +
          keyStr.charAt(enc2) +
          keyStr.charAt(enc3) +
          keyStr.charAt(enc4);
        chr1 = chr2 = chr3 = '';
        enc1 = enc2 = enc3 = enc4 = '';
      } while (i < input.length);
    
      return output;
    };
  • 相关阅读:
    jQuery对象和DOM对象的互转
    ASP.NET MVC单元测试Controller时添加上下文的方式
    基于Mongodb进行分布式数据存储【转】
    .NET平台上的编译器不完全列表
    实现自己的O/R Mapping组件高效缓存的思考
    .NET的动态语言
    C++类成员和数据成员初始化总结
    ACE Singleton
    Wiresshark
    C++
  • 原文地址:https://www.cnblogs.com/arealy/p/14214942.html
Copyright © 2011-2022 走看看