js中字符串的加密base64

base64编码主要用在传输,存储表示二进制的领域,还可以进行加密和解密。其实就是字符串的编码和解码

btoa与atob

只能加密ascii,不能加密汉字。

 var str = 'I LOVE YOU';
    //加密btoa
    var jiaMi = btoa(str);
    alert(jiaMi) ; //结果为SSBMT1ZFIFlPVQ==
    //加密 atob
    var jieMi = atob(jiaMi);
    alert(jieMi)

encodeURIComponent与decodeURIcomponent

只能将中文加密,不可以加密ascii

加密时 可以先将中文加密,然后再用btoa加密

解密时可以先将ascii解密,然后再将非ascii解密

 var str = 'i love中国';
    //加密encodeURIcomponent
    var jiaMi = encodeURIComponent(str);
    alert(jiaMi) ; //结果为i%20love%E4%B8%AD%E5%9B%BD ,你会发现英文字母没有加密
    var jiaM = btoa(jiaMi);
    alert(jiaM) ; //结果为aSUyMGxvdmUlRTQlQjglQUQlRTUlOUIlQkQ=

    //解密,先用atob解密ascii码,然后再用decodeURIComponent
    var jieMi = atob(jiaM);
    var jieM = decodeURIComponent(jieMi);
    alert(jieM)

猜你喜欢

转载自www.cnblogs.com/sticker0726/p/10925621.html