首页 > 其他分享 >前后台Base64加密解密

前后台Base64加密解密

时间:2022-12-19 17:44:21浏览次数:44  
标签:Base64 加密 base64 解密 window 字符串

// 待加密的对象
const personInfo = {
    name: '贾飞天',
    age: 18,
    address: '%10%'
};

/*
    ⭕window.btoa(): Base64加密
        该方法使用 "A-Z", "a-z", "0-9", "+", "/" 和 "=" 字符来编码字符串。
    ⭕window.atob(): Base64解密

    ❗❗❗window.btoa()与window.atob()不支持中文
    由于window.btoa()方法仅支持ASCII编码,
    我们在转换中文的时候就需要先将中文转换为ASCII字符序列,
    再通过btoa进行base64编码

    ⭕转换ASCII字符序列的方法我们可以使用encodeURIComponent和decodeURIComponent
*/ 

// utf-8转换base64字符串
const utf8_to_base64 = (str) => window.btoa(encodeURIComponent(str));
// base64转换utf-8字符串
const base64_to_utf8 = (str) => decodeURIComponent(window.atob(str));

// 加密
const encodeInfo = utf8_to_base64(JSON.stringify(personInfo));
console.log(encodeInfo);  // JTdCJTIybmFtZSUyMiUzQSUyMiVFOCVCNCVCRSVFOSVBMyU5RSVFNSVBNCVBOSUyMiUyQyUyMmFnZSUyMiUzQTE4JTJDJTIyYWRkcmVzcyUyMiUzQSUyMiUyNTEwJTI1JTIyJTdE

// 解密
const decodeInfo = base64_to_utf8(encodeInfo);
console.log(decodeInfo);  // {"name":"贾飞天","age":18,"address":"%10%"}

console.log(JSON.parse(decodeInfo));  // {name: '贾飞天', age: 18, address: '%10%'}


/*
    ⭕后端java使用

    // 加密
    String base64字符串 = Base64.getEncoder().encodeToString("待加密字符串".getBytes("utf-8"));

    // 解密
    String 普通字符串 = new String(Base64.getDecoder().decode("待解密base64字符串"), "utf-8");

    // java对URL进行编码和解码  
    import java.net.URLEncoder;
    import java.net.URLDecoder;

    // 编码
    URLEncoder.encode( URL, "UTF-8" )

    // 解码
    URLDecoder.decode( URL, "UTF-8" )
    
*/ 
    

 

标签:Base64,加密,base64,解密,window,字符串
From: https://www.cnblogs.com/lasding/p/16992716.html

相关文章

  • 瑞萨芯片解密R5F1-7系列解密
    ​瑞萨解密型号R5F100R5F101R5F102R5F103R5F104R5F105R5F211R5F212R5F213R5F215R5F35xxR5F356R5F363R5F364R5F365R5F511R5F513R5F517R5F523R5F564R5F565R......
  • 【博学谷学习记录】超强总结,用心分享|接口加解密介绍
    一、介绍在做接口测试的时候,如果是外部用户直接能看到我们的参数,可能会造成接口不安全,比如直接用明文的参数请求接口,把参数自己定义,脏数据就会存到我们的数据库中,严重......
  • C#实现简单的异或加密,方便处理
    将本地的mp4和ts文件加密为“dj”文件,无法播放。解密则是将“dj”文件解密为mp4或ts文件。usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSy......
  • 原生js实现rsa加密
    原生js实现rsa加密示例createNewUserKey().then(function(keyPairs){encrypt("thisisorigintext",keyPairs[0]).then(function(res){console.log('......
  • BUUCTF Java逆向解密
    BUUCTFJava逆向解密需要用专门的Java反编译软件:jd-gui    点开应用程序打开class文件       发现加密方式与KEY.接下来写出解密脚本就可以了.......
  • 爱加密iOS混淆工具 ijiami-clang-tools 使用
    获取联系爱加密支持人员,他们会发给你最新的爱加密工具包ijiami-clang-tools。安装首先获取要安装机器的UUID和en0的MAC地址,将这两个信息发送给爱加密人员,爱加密会根据机......
  • buuoj-特殊的base64
    1.64bitwinexe无壳2.打开密密麻麻,但是题目叫特殊的BASE64,我选择直接shift+f12找密文和base表先试一下3.真给我解出来了importbase64origin='mTyqm7wjODkrNLcWl0e......
  • PHP加密解密案例--Crypt
    加密解密代码如下/***加密字符串*@paramstring$str字符串*@paramstring$key加密key*@paraminteger$expire有效期(秒)......
  • go-dongle 0.2.2 版本发布,一个轻量级、语义化的 golang 编码解码、加密解密库
    dongle是一个轻量级、语义化、对开发者友好的Golang编码解码和加密解密库Dongle已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/dong......
  • C# AES加解密
    ///<summary>///AES加密///</summary>///<paramname="key"></param>///<paramname="str"></param>///<returns></returns>public......