C# aes加密解密byte数组

using System.Security.Cryptography;
using System.Text;namespace AESStu01;public class AesHelper
{// AES加密密钥和向量(需要保密)  private static readonly string Key = "";//16长度字符串+数字混合private static readonly string IV = "";//16长度字符串+数字混合// 加密字节数组  public static byte[] Encrypt(byte[] plainBytes){using (Aes aesAlg = Aes.Create()){aesAlg.Key = Encoding.UTF8.GetBytes(Key);aesAlg.IV = Encoding.UTF8.GetBytes(IV);ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);using (MemoryStream msEncrypt = new MemoryStream()){using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)){csEncrypt.Write(plainBytes, 0, plainBytes.Length);csEncrypt.Close();}return msEncrypt.ToArray();}}}// 解密字节数组  public static byte[] Decrypt(byte[] cipherBytes){using (Aes aesAlg = Aes.Create()){aesAlg.Key = Encoding.UTF8.GetBytes(Key);aesAlg.IV = Encoding.UTF8.GetBytes(IV);ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);using (MemoryStream msDecrypt = new MemoryStream()){using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Write)){csDecrypt.Write(cipherBytes, 0, cipherBytes.Length);csDecrypt.Close();}return msDecrypt.ToArray();}}}
}

测试

using AESStu01;var orginData = new byte[]
{1, 2, 3, 4, 5
};
Console.WriteLine("AES加密");
var enData = AesHelper.Encrypt(orginData);
Console.WriteLine("加密后的的数据");
Console.WriteLine(string.Join(",",enData));
var deData = AesHelper.Decrypt(enData);
Console.WriteLine("解密后的的数据");
Console.WriteLine(string.Join(",",deData));

在这里插入图片描述

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

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

相关文章

LeetCode--42

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,…

PackagingTool_x64_v2.0.1.0图片转档打包二进制文件合并字库生成图片软件介绍

继去年12月份发布的打包软件PackagingTool v1.4.0.2之后,今年再度投入精力,完善了软件功能,同时开发了几个更加实用的工具,可助力UI界面的设计开发。当前最新版本为PackagingTool_x64_v2.0.1.0,该版本主界面如下&#…

Windows操作系统中各种功能、快捷键

目录 引言一、系统1.任务管理器(当前进程属性)2.画图板3.计算器4.CMD命令行窗口5.控制面板6.记事本7.写字板 二、浏览器1.打开开发者工具2.页面搜索 三、AcWing1.替换2.对多处进行相同操作3.光标变为下划线 引言 由于本专业是计算机专业,所以…

Spring Cloud中,Eureka常见问题总结

Spring Cloud中,Eureka常见问题总结。 指定Eureka的Environment 1eureka.environment: 指定环境参考文档:Configuring Eureka Netflix/eureka Wiki GitHub 指定Eureka的DataCenter 1eureka.datacenter: 指定数据中心参考文档:Configuring …

SpringBoot:Invalid bound statement (not found)的原因和解决方案

🐓 报错信息: (无效绑定声明)找不到 解析: 你的mapper实例对象和对应的mapper.xml对象未找到 🐓 排查: 情况一: 1.排除相对应的mapper实例对象路径是否正确 查看相对应的mapper中…

unity3d中单例模式两种简单写法与对比

一、 public class UlManager {private static UlManager instance;private void Awake(){if(instance ! null)Destroy(this);else instance this;} }二、 public class UlManager {private static UlManager instance;public static UlManager Instance{get{if (instance …

ChatGPT聊YOLO

最近ChatGPT大伙,其概括摘要能力非常强。YOLO系列算法也是目标检测领域非常重要的一个研究路线,那么ChatGPT是如何看待各个YOLO算法的呢?那我们去问问它如何看待各个版本的YOLO。 截止到2021年9月,YOLOv6尚未发布。因此&#xff0…

类复习【C#】

【访问级别】【修饰】【返回类型】 类名 : 【被继承类】【被继承接口】 { 字段; 属性; 默认构造器;// 无参构造器 有参构造器; 私有方法; public 公共方法; } 修饰: 修饰符【C#】-CSDN…

pycharm实现上传excel生成word

下载需要的依赖包 pip install openpyxl python-docx flaskmain.py文件 from flask import Flask, request, render_template from openpyxl import load_workbook from docx import Documentapp Flask(__name__, template_foldertemplates)app.route(/) def index():return…

小程序面试题:js、vue、uni、小程序的页面传参方式区别

js、vue、uni、小程序的页面传参方式区别? 1、 js传参 通过location.href跳转传参和接收参数,url后面拼接参数来进行跳转传参。 2、 vue传参 可以通过标签router-link的to属性跳转传参,也可以通过事件里的this.$router.push跳转传参。传参有…

寒假作业Day 03

寒假作业Day 03 一、选择题 在C语言中,字符型指针char *p;通常用于指向字符数组(即字符串)的首字符。对于给定的选项,我们来分析每一个选项是否可以将字符串正确地赋值给p: A: pgetchar(); getchar()函数从标准输入读…

K8S—Pod控制器

目录 1.什么是POD控制器 2.POD控制器有几种类型 3.POD与控制器之间的关系 4.示例 4.1 Deployment 4.2 SatefulSet ①为什么要有headless? ②为什么要有volumeClainTemplate? ③服务发现:就是应用服务之间相互定位的过程。 ④K8S里服…

图的简单介绍

定义及术语 G(V,E):图G的顶点集为V,边集为E。分为有向图和无向图两类。 顶点的度:与该结点相连的边的条数。 出度:顶点的出边条数 入度:顶点的入边条数 顶点的权值称为点权,边的权值称为边权。 存储 1.邻…

SpringCache【缓存接口返回值信息】【前端访问后端,后端访问数据库(可以缓存这个过程,前端访问后端,保存记录,下次访问直接返回之前的数据)】

SpringCache 针对不同的缓存技术需要实现不同的CacheManager:注解入门程序CachePut注解CacheEvict注解Cacheable注解 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大…

Mongodb基础(node.js版)

一、Mongodb 介绍 Mongodb 是一个文档数据库,以文档形式存储数据,格式类似于 JSON 与 Mysql 的特点及选型对照 MongodbMysql关系类型非关系型关系型存储类型文档存储(类似于写 Word )表格存储 (类似于写 Excle&…

Java玩转《啊哈算法》之模拟链表

人应该支配习惯,而绝不是让习惯支配人。一个人要是不能改掉坏习惯,那么他就一文不值。 目录 缘代码地址模拟链表创建遍历打印插入插入优化 完整代码 缘 各位小伙伴们好呀!本人最近看了下《啊哈算法》,写的确实不错。 但稍显遗憾…

【C++】string 类 ( 上)

标准库中的string类 注意: 1. string是表示字符串的字符串类 2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。 比特就业课 3. string在底层实际是:basic_string模板类的别名,typedef basi…

python爬虫之selenium知识点记录

selenium 一、前期准备 1、概述 selenium本身是一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源。 我们可以利用selenium提供的各项功能。 帮助我们完成数据的抓取。 2、学习目标 掌握 selenium发送请求,加载网页的方法 掌…

Stable-Diffusion ubuntu服务器部署,报错解决方法(小白教程)

Stable Diffusion是一个深度学习模型,专注于生成高质量的图像。它由CompVis团队与Stability AI合作开发,并在2022年公开发布。这个模型使用文本提示(text prompts)生成详细、逼真的图像,是目前人工智能图像生成领域的一…

逆向案例四:360k静态和精灵数据动态AES解密,用js的方法

一、360K 网页链接:https://www.36kr.com/p/2672600261670407 页面中有静态的需要解密的内容,确定html包,确定方法 1.1方法步骤 在下方的搜索中输入decrypt(或者关键字window.initialState ,进入js文件 在AES.decrypt处打上断点&#xff0…