C# 加密解密处理

C#中字母与ASCⅡ码的转换 使用Encoding类的GetEncoding静态方法得到Encoding对象,然后调用Encoding对象的GetBytes方法,该方法接收一个字符串或字符数组作为参数,最后GetBytes方法会返回字节数组对象,可以根据字节数组的第0个索引来得到字符串中第一个字母的ASCⅡ码。现在已经了解到Char是值类型,如果将Char显式转换为数值类型,可以方便地得到ASCⅡ码值。Encoding对象的GetBytes方法接收一个字符串或字符数组作为参数,最后返回字节数组,可以根据字节数组得到字母的ASCⅡ码。 阅读详情
 
  • 话不多说,直接来代码
                  /// <summary> 
		/// 加密数据 
		/// </summary> 
		/// <param name="Text"></param> 
		/// <param name="sKey"></param> 
		/// <returns></returns> 
		public static string Encrypt(string Text,string sKey) 
		{
            using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
            {
                byte[] inputByteArray;
                inputByteArray = Encoding.Default.GetBytes(Text);
                des.Key = ASCIIEncoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                des.IV = ASCIIEncoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                StringBuilder ret = new StringBuilder();
                foreach (byte b in ms.ToArray())
                {
                    ret.AppendFormat("{0:X2}", b);
                }
                return ret.ToString();
            } 
		} 
                  /// <summary> 
		/// 解密数据 
		/// </summary> 
		/// <param name="Text"></param> 
		/// <param name="sKey"></param> 
		/// <returns></returns> 
		public static string Decrypt(string Text,string sKey) 
		{
            using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
            {
                int len;
                len = Text.Length / 2;
                if (len < 8)
                    return Text;
                byte[] inputByteArray = new byte[len];
                int x, i;
                for (x = 0; x < len; x++)
                {
                    i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
                    inputByteArray[x] = (byte)i;
                }
                des.Key = ASCIIEncoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                des.IV = ASCIIEncoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                return Encoding.Default.GetString(ms.ToArray());
            } 
		} 

C#基础教程(十一)字符编码ASCII,Unicode 和 UTF-8 字符编码,这个概念虽然不需要具体深入去了解,经常默认选择一下,但仔细去研究一下,发现很有意思,看到一篇文章,感觉非常好,很值得推荐给各位。 阅读详情

相关推荐

C# AES加密解密实战:从原理到字节数组处理与安全应用

对称加密是保障数据传输与存储机密性的核心技术,其核心原理在于使用同一密钥进行数据的加密与解密操作。AES(高级加密标准)作为当前广泛采用的对称加密算法,通过分组密码与特定工作模式(如CBC)确保数据安全。在工程实践中,正确处理字节数组这一加密世界的“通用货币”至关重要,涉及编码转换与Base64包装等关键操作。本文聚焦于C#环境下AES的完整实现,涵盖密钥管理、IV处理及典型应用场景,帮助开发者构建健壮的加密工具类,有效应对诸如配置文件保护与API通信加密等实际需求。

weixin_29323273的博客 351

C#中的ASCII加密/解密

#region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static string E...

积跬步,至千里 1063

C# RSA加密解密实战:中文处理与生产环境部署指南

非对称加密是现代数据安全的核心技术之一,它通过公钥加密、私钥解密的机制,解决了密钥分发和管理的难题。其原理基于大数分解等数学难题,确保了即使公钥公开,没有私钥也无法破解密文。这项技术在数据传输安全、身份认证和数字签名等领域具有重要价值,尤其适用于保护敏感信息(如用户身份证号、手机号)的传输与存储。在实际工程实践中,开发者常面临中文乱码、跨平台兼容性等挑战。本文聚焦于C#中的RSA实现,深入探讨了如何通过统一使用UTF-8编码、正确处理Base64格式以及采用OAEP安全填充模式,来确保中文字符的加解密可靠性

weixin_28716443的博客 239

ASP.NET 或C# 中ASCII码含中文字符的编解码处理

网上很多在线工具转出来的不能用,如“是是是”转出来的ASC是 :"\u662f\u662f\u662f”,如果是HTTP服务这个参数是有问题的因为包含特殊字符“\”。在C#或ASP.NET中,如果是有中文字符,那么直接转是不行的,需要先将字符串转成16进制码才能转成想要的ASCII码,拿到的ASCII码字符串也可以进行解码了,不会再有中文乱码问题。StringUtil工具类using System...

纸上得来终觉浅,绝知此事要躬行 6263

C# 实现文件和字符串的AES加密解密

C# 实现文件和字符串的AES128加密解密

m0_72044573的博客 5935

C#实现AES加密解密与字节数组处理实践

对称加密是加密与解密使用同一密钥的算法。在此类加密方法中,密钥的保密性是关键所在,因为任何拥有密钥的个体都能对数据进行加解密。常见的对称加密算法包括AES(高级加密标准)、DES(数据加密标准)和3DES(三重数据加密算法)等。AES作为目前广泛采用的加密标准之一,具备极高的安全性,并因其效率高和易于实现的特点被广泛应用于各种软件和硬件中。AES支持三种长度的密钥:128、192和256位。有多种填充方法,但最常用的是PKCS#7填充(也称为PKCS5填充)。

weixin_31620365的博客 887

彻底弄懂字符集编码

字符集:字符集是一个字符的集合,每个数字对应一个字符。 字符编码: 编码是字符的存储方案。 比如说:ASCII字符集 就是ASCII码表, 如数字97对应字母a 编码呢,就是如何存储这个97, 你可以使用一个字节来存 你还可以使用两个字节来存 你还可以使用四个字节来存 这下终于搞明白了 原来字符集和编码不是一个东西。 字符集有 ASCII、GB2312、BIG5、GB18030、Unicode。...

磨刀不误砍柴工 2099

C#数据库操作、加密解密与Excel处理综合类库设计

在现代企业级C#开发中,高效的数据交互、安全的信息保护与灵活的报表处理构成系统核心能力。ADO.NET作为.NET平台与数据库通信的基石,提供细粒度控制力与高性能数据访问支持;对称与非对称加密算法协同保障敏感数据在传输与存储中的机密性与完整性;而面对高频Excel导入导出场景,传统Interop已难以满足性能需求,基于Open XML的EPPlus等轻量方案成为主流选择。

weixin_42620563的博客 730

csharp base64加密java解密_C#实现Base64处理的加密解密,编码解码的示例代码

这篇文章主要介绍了C#实现Base64处理的加密解密,编码解码,结合实例形式分析了基于C#实现的base64编码解码操作相关技巧,需要的朋友可以参考下本文实例讲述了C#实现Base64处理的加密解密,编码解码。分享给大家供大家参考,具体如下:using System;using System.Text;namespace Common{/// /// 实现Base64加密解密/// 作者:周公//...

weixin_34917038的博客 575

C#实现AES加密解密技术详解

高级加密标准(AES)是由美国国家标准与技术研究院(NIST)在2001年正式公布的。它替代了之前的DES加密算法,并迅速成为全球认可的对称密钥加密标准。AES算法以简洁高效、安全性高著称,广泛应用于金融、政府及各种安全敏感领域。WPF应用程序以其丰富的交互性和美观的用户界面而著称。它允许开发者使用XAML(可扩展应用程序标记语言)来描述用户界面的布局和外观,同时使用C#或其他.NET支持的语言来编写业务逻辑。

weixin_35811662的博客 2261

PCB布线避坑指南:为什么你的差分线等长总调不好?AD19蛇形等长技巧详解

本文详细解析了AD19环境下PCB差分线等长调整的核心技巧与常见问题。从差分信号等长的底层逻辑到AD19规则配置,再到蛇形等长高级技巧和信号完整性验证,帮助工程师解决差分线等长调整中的难题,提升高速PCB设计的信号质量。

weixin_28738397的博客 382

用C#实现Base64处理,加密解密,编码解码

using System; using System.Text; namespace Common { /// &lt;summary&gt; /// 实现Bas

w36680130的博客 1141

power bi 演唱会-佐罗

我是业务分析人员,注重使用性,因此,课程不到 30% 的内容就可以解决目前为止我碰到的所有业务问题,剩下的 70% 内容是帮助我提升,优化,升华,精益求精用的,比如第三方工具,比如代码运行速度优化,比如查询逻辑优化等等。系统性上来说,结构明晰,安排上非常有条理,层层递进;《BI 真经》,中有真经二字,略显夸大,而当我第一次证明了这点的时候,我也非常惊讶,这就是我做以下所有事情的一切动力。《BI 真经》综合考量思想性,系统性,本质性,创新性,通用性,技巧性,启发性,对比其他课程有压倒性的显著优势。

v_1090213742的博客 911

C# DES加密解密类

<br /> <br />一个以前用的DES加密解密类突然解密的时候出现错误,怎么搞都不行,后来找了个这个,虽然大致上差不多,但是这个确实可以的,真为以前的那个类郁闷啊<br /> <br /> <br /> <br />using System; using System.Text; using System.Security.Cryptography; namespace Test { /// <summary> ///

朩冰雲的专栏 1244

YALMIP介绍及怎么在Matlab中加YALMIP、SDPT3

目录YALMIP简介怎么在Matlab中加YALMIP?1. 创建决策变量:2. 添加约束:3. 参数配置4. 求解怎么在MatlabR2019a中加YALMIP?1.下载工具包2.放置工具包3.添加路径4.测试安装结果怎么在MatlabR2019a中加SDPT3? YALMIP简介 怎么在Matlab中加YALMIP? yalmip是一位“集大成者”,它不仅自己包含基本的线性规划求解算法,比如linprog(线性规划)、bintprog(二值线性规划)、bnb(分支界定算法)等,他还提供了对cpl

m0_51431440的博客 2万+

PyCharm安装PyQt5及工具详细教程

PyCharm是一款功能强大的Python集成开发环境(IDE),而PyQt5是一个用于创建GUI应用程序的流行Python库。在本教程中,我将指导您如何在PyCharm中安装PyQt5及其相关工具,并提供相应的源代码示例。安装完成后,启动PyCharm并创建一个新的项目。为了隔离项目的依赖项,我们建议在PyCharm中使用虚拟环境。在创建项目的过程中,您可以选择创建新的虚拟环境或使用现有的环境。根据您的操作系统,选择适当的版本并按照安装向导的指示进行安装。首先,您需要下载并安装PyCharm。

CfProgram的博客 588

加密解密Url字符串,C#对Url进行处理,传递Url

string_QueryStringKey="abcdefgh";//URL传输参数加密Key///加密URL传输的字符串publicstringEncryptQueryString(stringQueryString){returnEncrypt(QueryString,_QueryStringKey);...

weixin_30396699的博客 315

海德汉机床采集数据

海德汉数控系统我一般在高端机床上见得比较多。有好多五轴加工精度比较高的机床都用的是海德汉的系统。市面上常见的有530和640等型号。海德汉的采集还是有点难度的,需要对SDK有深度的了解。

若云流风的专栏 1525
上一篇: C# WinForm Webbrowser 模拟登陆 打卡
下一篇: asp.net生成验证码
Kelvin峰
博客等级 码龄22年 23粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值