【代码块】-加解密-字符串的加密与解密
1.【代码块】-算法-反转整数2.【代码块】-CS-文件夹大小3.【代码块】-CS-复制文件夹及内部4.【代码块】-Helper-GZIP5.【代码块】-Helper-开机启动6.【代码块】-控件-双缓冲绘制7.【代码块】-图片-获取各像素点8.【代码块】-数据-ListView数据保存为CSV文件
9.【代码块】-加解密-字符串的加密与解密
10.【代码块】-验证码-绘制到图片显示11.【代码块】-winform 获取控件属性和事件、自定义控件的自定义方法12.【代码块】-C#正则匹配中文13.【代码块】-计算机蜂鸣14.【代码块】-结构体序列化与反序列化15.【代码块】-C#不使用 split 分割字符串整理代码块
代码块整理后存储,供后期使用
源地址:https://www.cnblogs.com/wifi/articles/2482350.html
using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace StringEncryptAndDecrypt
{
class Program
{
//定义密钥
static string encryptKey = "Test";
#region 加密字符串
/// <summary> /// 加密字符串
/// </summary>
/// <param name="str">要加密的字符串</param>
/// <returns>加密后的字符串</returns>
static string Encrypt(string str)
{
//实例化加/解密类对象
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
//定义字节数组,用来存储密钥
byte[] key = Encoding.Unicode.GetBytes(encryptKey);
//定义字节数组,用来存储要加密的字符串
byte[] data = Encoding.Unicode.GetBytes(str);
//实例化内存流对象
MemoryStream MStream = new MemoryStream();
//使用内存流实例化加密流对象
CryptoStream CStream = new CryptoStream(MStream, descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);
//向加密流中写入数据
CStream.Write(data, 0, data.Length);
//释放加密流
CStream.FlushFinalBlock();
//返回加密后的字符串
return Convert.ToBase64String(MStream.ToArray());
}
#endregion
#region 解密字符串
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="str">要解密的字符串</param>
/// <returns>解密后的字符串</returns>
static string Decrypt(string str)
{
//实例化加/解密类对象
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
//定义字节数组,用来存储密钥
byte[] key = Encoding.Unicode.GetBytes(encryptKey);
//定义字节数组,用来存储要解密的字符串
byte[] data = Convert.FromBase64String(str);
//实例化内存流对象
MemoryStream MStream = new MemoryStream();
//使用内存流实例化解密流对象
CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);
//向解密流中写入数据
CStream.Write(data, 0, data.Length);
//释放解密流
CStream.FlushFinalBlock();
//返回解密后的字符串
return Encoding.Unicode.GetString(MStream.ToArray());
}
#endregion
static void Main(string[] args)
{
//提示输入字符串
Console.Write("输入需要做加密的字符串:");
Console.WriteLine(); //换行输入
string str = Console.ReadLine(); //记录输入的字符串
string strNew = Encrypt(str); //加密字符串
Console.WriteLine("加密后:" + strNew); //输出加密后的字符串
Console.WriteLine("解密后:" + Decrypt(strNew)); //解密字符串并输出
Console.ReadLine();
}
}
}
简单的字符串加密解密方法
//加密
public static string encode(string str)
{
string htext = "";
for (int i = 0; i < str.Length; i++)
{
htext = htext + (char)(str[i] + 10 - 1 * 2);
}
return htext;
}
//解密
public static string decode(string str)
{
string dtext = "";
for (int i = 0; i < str.Length; i++)
{
dtext = dtext + (char)(str[i] - 10 + 1 * 2);
}
return dtext;
}
如果有错误的地方,还望各位多多指点
写个博客,来记录自己成长的一些经历,或许也能顺便帮助他人。
由于使用GitHub仓库作为图床,会有图片显示不出来的情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」