首页 > 其他分享 >base64加密解密

base64加密解密

时间:2023-04-27 10:35:33浏览次数:30  
标签:function return res base64 解密 str 加密

// base64加密解密 不支持中文哦,会有问题
var Base64 = {
    //加密
    encode : function(str) {
        return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
            function toSolidBytes(match, p1) {
                return String.fromCharCode('0x' + p1);
            }));
    },
    //解密
    decode : function(str) {
        // Going backwards: from bytestream, to percent-encoding, to original string.
        var res;
        var a, b
        //  atob(str)在ie 浏览器中会抛出异常
        try { a = atob(str)
        } catch (e) { a = '';}
       
        b = a.split('')
        res = b.filter(function (c) {
            return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
        })
//处理 百分号%
        return decodeURIComponent(res.join('').replace(/%/g, '%25'));
    }
}

标签:function,return,res,base64,解密,str,加密
From: https://www.cnblogs.com/yaopaoa/p/17358210.html

相关文章

  • 上传文件转base64
    functiongetBase64(file){ returnnewPromise((resolve,reject)=>{ constreader=newFileReader(); letfileResult=""; reader.readAsDataURL(file); //开始转 reader.onload=()=>{ fileResult=reader.result; }; //转失败......
  • Using base64 encoding and decoding for file transfer in AX 2012
    Base64BinDataIfyouwanttotransfersmallfiledatausingAXanddonotwanttomakeuseofsharedfoldersorfileuploading,sendingyourfiledirectlyinsideyourXMLmessageasbase64encodedstringisagoodoption.Base64givesyouthepossibil......
  • 微信公众号消息加解密
    在微信公众号的使用过程中,为了提高信息传输的安全性,可以在服务器配置中将消息加解密模式指定为安全模式。启用安全模式后,公众号主动调用API的情况并不会受影响,只有被动回复用户的消息时才需要对消息进行加解密。官方提供了5种开发语言的示例代码,参照官方给的C++示例代码,本文给出......
  • python与java 对应的加密算法
    python与java对应的加密算法1.gzip加密java的gzip加密:importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.util.Arrays;importjava.util.zip.GZIPInputStream;importjava.util.zip.GZIPOutputStream;publicclassHello{......
  • 转轮机加密
    例题:攻防世界_转轮机加密  就把转轮机想象成一个老式的转的密码锁,以这题为例,这个密码锁一共有13行,每一行是26个字母,通过转动每一行可以得到不同的组合。 观察题目,给出的密钥和密文都是13个,刚好对着这个转轮机的每一行,所以,解题步骤如下:先把这13行根据密钥的顺序排好,如图......
  • Base64 编码的字符串转换为 Blob 对象方法
    constblob=function(data:string,mime:string){data=data.split(',')[1];data=window.atob(data);letia=newUint8Array(data.length);for(vari=0;i<data.length;i++){ia[i]=data.charCodeAt(i);};returnnew......
  • P.13-用户密码加密存储密码、P.14-铺垫知识jwt工具类使用、P.15-登录接口实现细节分析
    P.13-用户密码加密存储密码实际项目中我们不会把密码明文存储在数据库中。默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password。它会根据id去判断密码的加密方式。但是我们一般不会采用这种方式。所以就需要替换PasswordEncoder。我们一般......
  • 借灰姑娘的手,讲述js加密的美丽
    这个故事的主角是灰姑娘,她有一个重要的秘密,需要将其保护起来。但是,她发现她的网站上的JavaScript代码很容易被其他人阅读和修改,为了保护这个秘密,她需要采用一些混淆和加密技术。以下是她使用的一些技术:1.函数调用混淆灰姑娘混淆了函数的调用方式,从而使得代码难以被阅读和理解。例......
  • 前端使用CryptoJS加密解密
    1、安装crypto-js;npminstallcrypto-js--save-devyarnaddcrypto-js--dev2、新建unit.js写成公共方法;constCryptoJS=require('crypto-js');//16位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)constkey=CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxx");//......
  • 前端vue使用jsencrypt进行RAS加密/解密
    前端安装:npminstalljencrypt--sava在utils下创建jsencrypt.js文件,内容如下:importJSEncryptfrom"jsencrypt/bin/jsencrypt.min";/**RSA秘钥对生成网站http://web.chacuo.net/netrsakeypair*//**公钥512位*/constpublicKey='MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJ......