首页 > 编程语言 >C#-JavaScript-base64加密解码

C#-JavaScript-base64加密解码

时间:2024-04-03 15:45:11浏览次数:28  
标签:function JavaScript return string byteData C# base64 加密

C#

//base64加密
        //调用方式:Helper.EncodeToBase64(需要加密字符串)
        public static string EncodeToBase64(string data)
        {
            byte[] byteData = Encoding.UTF8.GetBytes(data);
            return Convert.ToBase64String(byteData);
        }
        //base64解密
        //调用方式:Helper.DecodeFromBase64(需要解密字符串)
        public static string DecodeFromBase64(string base64EncodedData)
        {
            byte[] byteData = Convert.FromBase64String(base64EncodedData);
            return Encoding.UTF8.GetString(byteData);
        }

JavaScript (包含解决中文乱码问题)

// 中文字符串转换为UTF-8编码的字节序列--加密
function utf8_to_b64(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {
        return String.fromCharCode('0x' + p1);
    }));
}

// UTF-8编码的字节序列转换回中文字符串--解码
function b64_to_utf8(str) {
    return decodeURIComponent(atob(str).split('').map(function (c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));
}

JS (简单转换无中文字符)

 btoa()和atob()函数进行Base64加密和解密;   例调用:var z=btoz("shjkwned") 

 

标签:function,JavaScript,return,string,byteData,C#,base64,加密
From: https://www.cnblogs.com/BMxxx/p/18112833

相关文章

  • 【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试
    本篇文章基于STM32F103和CH390H芯片进行例程移植及相关注意事项,简单验证TCP\UDP\Ping基础功能。硬件:STM32F103开发板+沁恒CH390H的评估版图一示,SPI使用接口为:INT->PA0,RST->PA1,CS->PA2,SCK->PA5,MISO->PA6,MOSI->PA7,WOL->PA8。 图一 软件移植:采用的沁恒官方提供的CH......
  • docker里面安装mariadb,设置用户名密码,登录mariadb
    5.启动Docker服务并设置开机自启动:  ```  sudosystemctlstartdocker  sudosystemctlenabledocker  ```###步骤2:在Docker中安装Nginx1.拉取Nginx镜像:  ```  sudodockerpullnginx  ```2.运行Nginx容器:  ```  sudo......
  • 3D Object Detection Essay Reading 2024.04.01
    SwinTransformerpaper:https://arxiv.org/abs/2103.14030(ICCV2021)code:https://github.com/microsoft/Swin-Transformer/blob/2622619f70760b60a42b996f5fcbe7c9d2e7ca57/models/swin_transformer.py#L458学习链接:https://blog.csdn.net/qq_37541097/article/detail......
  • Netty 实现 WebSocket 协议
    要使用Netty框架实现WebSocket服务端与客户端通信,你需要按照以下步骤进行:1、添加依赖        首先,在你的项目中引入Netty和其WebSocket支持库的依赖。如果你使用Maven或Gradle构建项目,可以在pom.xml或build.gradle文件中添加相应的依赖项。Maven:<dependency>......
  • 【C++】string模拟实现
     ......
  • windows 系统的 cmd 命令窗口不是很好用,可以试试 Cmder 工具包
    windows系统的cmd命令窗口不是很好用,可以试试Cmder工具包一、常规操作1、在运行框中快速启动Cmder将cmder.exe文件所在目录加载环境变量PATH中。2、把cmser加载鼠标右键中方法一:以管理员身份运行Cmder  ->输入  cmder/registerall  。方......
  • SpringBoot集成Flink-CDC,实现对数据库数据的监听
    一、什么是CDC?  CDC是 ChangeDataCapture(变更数据获取) 的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。二、Flink-CDC是什么?CDCConnector......
  • 30-ORM:CURD神器GORM包介绍及实战
      目前,GitHub上star数最多的是GORM,它也是当前Go项目中使用最多的ORM。 GORM基础知识介绍GORM是Go语言的ORM包,功能强大,调用方便。像腾讯、华为、阿里这样的大厂,都在使用GORM来构建企业级的应用。 功能全。使用ORM操作数据库的接口,GORM都有,可以满足我们开发中对数据库......
  • OM6650AM支持蓝牙5.1协议栈与2.4GHz私有协议的双模无线连接SoC芯片
    OM6650AM是一款超低功耗、同时支持蓝牙5.1协议栈与2.4GHz私有协议的双模无线连接SoC芯片,采用4.0mmx4.0mmQFN32封装,具有丰富的资源,极低的功耗,优异的射频性能,可广泛应用于车载数字钥匙模组、胎压检测、PKE钥匙等场景。01主要特性蓝牙规格:全功能BLE5.1;支持数据传输速率:1Mb......
  • C#中Directory.GetFiles() 函数的使用方法(读取目录中的文件)
    原文链接:https://blog.csdn.net/qq_35970739/article/details/82887314C#中Directory.GetFiles(string path ,stringsearchPattern,SearchOptionsearchOption )获取path目录中所有文件一、参数1、path要搜索的目录的相对或绝对路径。此字符串不区分大小写。2、sear......