C# 使用base64编码用于加密和解密

news2024/11/15 8:36:33

base64编码原理:Base64编码是一种将二进制数据转换为ASCII字符的编码方式。它使用64个字符来表示二进制数据,包括大小写字母、数字和两个符号。将3个字节的二进制数据转换为4个字符的文本数据,如果不足3个字节,则在末尾补0,最后再加上1到2个“=”符号作为补位。

Base64加密和解密代码示例

 public class AesEncryption
 {
     /// <summary>
     /// 加密
     /// </summary>
     /// <param name="plainText">传入需加密的字符串</param>
     /// <returns>返回加密后的字符串</returns>
     public static string Base64Encode(string plainText)
     {
         var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
         return System.Convert.ToBase64String(plainTextBytes);
     }

     /// <summary>
     /// 解密
     /// </summary>
     /// <param name="base64EncodedData">传入需解密的字符串</param>
     /// <returns>返回解密后的字符串</returns>
     public static string Base64Decode(string base64EncodedData)
     {
         var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
         return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
     }
 }

后续代码调用,比如加密字符串并写入ini文件中

 string stra = AesEncryption.Base64Encode(txbAmendZeroOffset.Text);//加密字符串
   writeIni("parameter", "zero_offset", stra); //将加密的字符串写入ini文件

读取ini中加密前的字符串并解密

string stra = AesEncryption.Base64Decode(ReadValueFromIniFile("parameter", "zero_offset", FileSysIni)); //读取ini文件加密前的信息  并进行解密

加密后的ini文件示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1134526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

el-tree横向纵向滚动条

el-tree未展开时样式 el-tree展开时样式 给容器一个高度&#xff0c;然后样式加上overflow: scroll&#xff0c;这样纵向滚动条就出来了。 <el-card style"height: 528px;overflow: scroll"><el-inputplaceholder"输入关键字进行过滤"v-model&…

是顺流还是逆流?未来物流作业是否将被机器人全面取代?

原创 | 文 BFT机器人 随着人工智能的加速发展&#xff0c;各行业为适应数字时代的潮流&#xff0c;纷纷引入智能制造&#xff0c;帮助企业实现产业升级。而物流行业也不例外&#xff0c;现今人们的生活速度加快&#xff0c;为了快捷便利&#xff0c;很多的人喜欢通过网购、快递…

【Linux】Ubuntu升级nodejs版本

在下载nvm对nodejs版本进行管理时&#xff0c;由于网络因素一直下载失败&#xff0c;于是采用了新的方法对nodejs版本进行升级。 首先我们先查询一下现存的nodejs版本号&#xff0c;发现是12 我们下载一个名为n的软件包&#xff0c;n 是一个非常方便的 Node.js 版本管理工具&am…

【C++】Map和Set -- 详解

一、关联式容器 在初阶阶段&#xff0c;我们已经接触过 STL 中的部分容器&#xff0c;比如&#xff1a;vector、list、deque、forward_list&#xff08;C11&#xff09;等&#xff0c;这些容器统称为 序列式容器 &#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存…

CCF中国开源大会,中电金信与行业共探AI技术在金融行业的应用和前景

10月21日&#xff0c;以“开源联合&#xff0c;聚力共赢”为主题的2023 CCF中国开源大会在长沙开幕。中电金信副总经理、研究院院长况文川参加峰会&#xff0c;在“算力与大模型”主题论坛上发表演讲&#xff0c;与行业共同交流AI、大模型等技术在金融行业的应用与前景。 况文川…

bp前端验证码绕过及token绕过

前端验证码绕过及token绕过 原文参考&#xff1a;xiu 文章目录 前端验证码绕过及token绕过原文参考&#xff1a;[xiu](http://www.xiusafe.com/2023/10/25/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%BB%95%E8%BF%87/)1 验证码爆破1. 登录Pikachu&#xff0c;先获取登录的api接口2 验证码…

基于Java的药品商城管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

jenkins配置gitlab凭据

下载Credentials Binding插件&#xff08;默认是已经安装了&#xff09; 在凭据配置里添加凭据类型 点击保存 Username with password&#xff1a; 用户名和密码 SSH Username with private 在凭据管理里面添加gitlab账号和密码 点击全局 点击添加凭据&#xff08;版本不同…

指针相关面试题目

数组名的意义&#xff1a; 1. sizeof( 数组名 ) &#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小。 2. & 数组名&#xff0c;这里的数组名表示整个数组&#xff0c;取出的是整个数组的地址。 3. 除此之外所有的数组名都表示首元素的地址。 下…

【wespeaker】模型ECAPA_TDNN介绍

本次主要介绍开源项目wespeaker模型介绍 1. 模型超参数 model_args: feat_dim: 80 embed_dim: 192 pooling_func: “ASTP” projection_args: project_type: “softmax” # add_margin, arc_margin, sphere, softmax scale: 32.0 easy_margin: False 2. 模型结构 2.1 Layer…

python打包和运行技巧

一、打包的几种方法 Python 有多种打包方式可用于将脚本打包成可执行文件&#xff0c;以便在没有 Python 解释器的环境中运行。以下是一些常见的 Python 打包方式&#xff1a; 使用 pyinstaller&#xff1a;pyinstaller 是一个常用的第三方工具&#xff0c;可以将 Python 脚本…

中间件安全-CVE 复现K8sDockerJettyWebsphere漏洞复现

目录 服务攻防-中间件安全&CVE 复现&K8s&Docker&Jetty&Websphere中间件-K8s中间件-Jetty漏洞复现CVE-2021-28164-路径信息泄露漏洞CVE-2021-28169双重解码信息泄露漏洞CVE-2021-34429路径信息泄露漏洞 中间件-Docker漏洞复现守护程序 API 未经授权访问漏洞…

题目 1119: C语言训练-“水仙花数“问题1(python详解)——练气三层中期

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇&#xff08;C\C版&#xff09; &#x1f353;专栏&#xff1a;算法修炼之筑基篇&#xff08;C\C版&#xff09; &#x1f352;专栏&#xff1a;算法修炼之练气篇&#xff08;Python版&#xff09; ✨…

微服务技术导学

文章目录 微服务结构认识微服务技术栈 微服务结构 技术&#xff1a; 解决异常定位&#xff1a; 持续集成&#xff0c;解决自动化的部署&#xff1a; 总结如下&#xff1a; 认识微服务 微服务演变&#xff1a; 技术栈 SpringCloud与SpringBoot版本对应关系

c#调用webservice 示例

一、添加webservice链接地址 链接地址如下 http://HM01:8000/sap/bc/srt/wsdl/flv_10002A111AD1/srvc_url/sap/bc/srt/scs/sap/zhrom00 2、 C#添加引用—添加服务引用(S)… 3、输入链接地址 –前往(G) 这样就引用成功了 4、调用webservice string REQNO "100220170…

OpenCV官方教程中文版 —— 直方图均衡化

OpenCV官方教程中文版 —— 直方图均衡化 前言一、原理二、 OpenCV 中的直方图均衡化三、 CLAHE 有限对比适应性直方图均衡化 前言 本小节我们要学习直方图均衡化的概念&#xff0c;以及如何使用它来改善图片的对比。 一、原理 想象一下如果一副图像中的大多是像素点的像素值…

竞赛 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐…

如何处理单据保存/审核时提示:“更新即时库存时,基本单位数量与辅单位数量为一正一负,即时库存更新不成功

文章目录 如何处理单据保存/审核时提示:“更新即时库存时,基本单位数量与辅单位数量为一正一负,即时库存更新不成功问题描述前提问题分析&#xff1a;解决方案 如何处理单据保存/审核时提示:“更新即时库存时,基本单位数量与辅单位数量为一正一负,即时库存更新不成功 问题描述…

模拟输入信号保护方法,确保数据准确性和系统稳定性

在各种电子系统中&#xff0c;模拟输入信号的处理和保护至关重要。 这些信号可能会受到各种干扰和噪声的影响&#xff0c;从而影响数据的准确性和系统的稳定性。为了应对这些问题&#xff0c;本文将介绍一些模拟输入信号的保护方法。 今天分享几种模拟输入信号保护电路的方法…

npm改变npm缓存路径和改变环境变量

在安装nodejs时&#xff0c;系统会自动安装在系统盘C&#xff0c; 时间久了经常会遇到C盘爆满&#xff0c;有时候出现红色&#xff0c;此时才发现很多时候是因为npm 缓存保存在C盘导致的&#xff0c;下面就介绍下如何改变npm缓存路径。 1、首先找到安装nodejs的路径&#xff0c…