在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家。
先看看加密的基本概念:
"加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。
加密的基本功能包括:
1. 防止不速之客查看机密的数据文件;
2. 防止机密数据被泄露或篡改;
3. 防止特权用户(如系统管理员)查看私人数据文件;
4. 使入侵者不能轻易地查找一个系统的文件。
一、本节摘要
本节主要分享Base64加密解密:
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。
二、源码分享
1、主方法
protected void Test()
{
//m_codeTable = @"STUVWXYZbacdefghivklABCDEFGHIJKLMNOPQRmnopqrstu!wxyz0123456789+/";
//m_pad = "j";
this.InitDict();
string test = "abc ABC 你好!◎#¥%……!@#$%^";
string encode = this.Encode("false");
string decode = this.Decode(encode);
Console.WriteLine(encode);
Console.WriteLine(test == decode);
}
2、Base64加密解密类
using System;
using System.Collections.Generic;
using System.Text;
namespace Common
{
/// <summary>
/// 基于Base64的加密编码,
/// 可以设置不同的密码表来获取不同的编码合解码
/// </summary>
public class Base64Util
{
public Base64Util()
{
this.InitDict();
}
protected static Base64Util s_b64 = new Base64Util();
#region Base64加密解密
/// <summary>
/// Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可列印的ASCII 字元。
/// 這使它可用來作為電子郵件的傳輸編碼。在Base64中的變數使用字元A-Z、a-z和0-9 ,
/// 這樣共有62個字元,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的
/// 系統中而不同。
/// Base64加密
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Base64Encrypt(string str)
{

本文介绍了加密解密的基本概念,强调了其在网络数据安全中的作用。重点讲解了C#中常用的Base64加密解密方法,包括编码和解码过程,并提供了源代码示例。Base64作为一种常见的编码方式,用于在HTTP环境下传输数据,确保数据的不可读性。
最低0.47元/天 解锁文章
938

被折叠的 条评论
为什么被折叠?



