这里给大家一个现成的C#加密解密类,由 admin10000.com 提供,包含MD5、SHA1、DES加密和解密,Base64编码解码。
首先导入命名空间
using System.Web.Security; using System.Security.Cryptography; using System.Text; using System.IO;
/// 631fb227578dfffda61e1fa4d04b7d25
/// EncryptHelper 来自 www.Admin10000.com
/// 039f3e95db2a684c7b74365531eb6044
public class EncryptHelper { // 提供8个字符作为DES密钥(程序自动截取前8个字符) private static string key = "admin10000.com"; /// <summary> /// DES对称加密解密的密钥 /// </summary> public static string Key { get { return key; } set { key = value; } } /// <summary> /// MD5 加密(不可逆加密) /// </summary> /// <param name="pass">要加密的原始字串</param> /// <returns></returns> public static string MD5Encrypt(string pass) { System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass)); md5.Clear(); string strResult = BitConverter.ToString(bytResult); strResult = strResult.Replace("-", ""); return strResult; /* 另一种方法 pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5"); return pass; */ } /// <summary> /// SHA1 加密(不可逆加密) /// </summary> /// <param name="pass">要加密的原始字串</param> /// <returns></returns> public static string SHA1Encrypt(string pass) { System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider(); byte[] bytResult = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass)); sha1.Clear(); string strResult = BitConverter.ToString(bytResult); strResult = strResult.Replace("-", ""); return strResult; /* 另一种方法 pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "SHA1"); return pass; */ } /// <summary> /// DES加密字符串 /// </summary> /// <param name="encryptString">待加密的字符串</param> /// <returns>加密成功返回加密后的字符串,失败返回源串</returns> public static string DESEncrypt(string encryptString) { try { byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8)); byte[] rgbIV = rgbKey; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); cStream.Close(); return Convert.ToBase64String(mStream.ToArray()); } catch { return encryptString; } } /// <summary> /// DES解密字符串 /// </summary> /// <param name="decryptString">待解密的字符串</param> /// <returns>解密成功返回解密后的字符串,失败返源串</returns> public static string DESDecrypt(string decryptString) { try { byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8)); byte[] rgbIV = rgbKey; byte[] inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); cStream.Close(); return Encoding.UTF8.GetString(mStream.ToArray()); } catch { return decryptString; } } /// <summary> /// 将普通字符串编码为BASE64字串 /// </summary> /// <param name="str">源字符串</param> /// <returns></returns> public static string Base64Encode(string str) { return Convert.ToBase64String(Encoding.UTF8.GetBytes(str)); } /// <summary> /// 解码BASE64字串 /// </summary> /// <param name="str">Base64字串</param> /// <returns></returns> public static string Base64Decode(string base64Str) { return Encoding.UTF8.GetString(Convert.FromBase64String(base64Str)); } }

C#.NET生态系统提供了丰富的框架和库,帮助开发者高效构建应用。1.ASP.NETCore用于构建高性能Web应用,2.EntityFrameworkCore用于数据库操作。通过理解这些工具的使用和最佳实践,开发者可以提高应用的质量和性能。

如何将C#.NET应用部署到Azure或AWS?答案是使用AzureAppService和AWSElasticBeanstalk。1.在Azure上,使用AzureAppService和AzurePipelines自动化部署。2.在AWS上,使用AmazonElasticBeanstalk和AWSLambda实现部署和无服务器计算。

C#和.NET的结合为开发者提供了强大的编程环境。1)C#支持多态性和异步编程,2).NET提供跨平台能力和并发处理机制,这使得它们在桌面、Web和移动应用开发中广泛应用。

.NETFramework是一个软件框架,C#是一种编程语言。1..NETFramework提供库和服务,支持桌面、Web和移动应用开发。2.C#设计用于.NETFramework,支持现代编程功能。3..NETFramework通过CLR管理代码执行,C#代码编译成IL后由CLR运行。4.使用.NETFramework可快速开发应用,C#提供如LINQ的高级功能。5.常见错误包括类型转换和异步编程死锁,调试需用VisualStudio工具。

C#是一种由微软开发的现代、面向对象的编程语言,.NET是微软提供的开发框架。C#结合了C 的性能和Java的简洁性,适用于构建各种应用程序。.NET框架支持多种语言,提供垃圾回收机制,简化内存管理。

C#和.NET运行时紧密合作,赋予开发者高效、强大且跨平台的开发能力。1)C#是一种类型安全且面向对象的编程语言,旨在与.NET框架无缝集成。2).NET运行时管理C#代码的执行,提供垃圾回收、类型安全等服务,确保高效和跨平台运行。

要开始C#.NET开发,你需要:1.了解C#的基础知识和.NET框架的核心概念;2.掌握变量、数据类型、控制结构、函数和类的基本概念;3.学习C#的高级特性,如LINQ和异步编程;4.熟悉常见错误的调试技巧和性能优化方法。通过这些步骤,你可以逐步深入C#.NET的世界,并编写高效的应用程序。

C#和.NET的关系是密不可分的,但它们不是一回事。C#是一门编程语言,而.NET是一个开发平台。C#用于编写代码,编译成.NET的中间语言(IL),由.NET运行时(CLR)执行。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具