1.CryptoHelper加密解密帮助类
/// <summary> /// 加密解密帮助类 /// </summary> public class CryptoHelper { private readonly string IV = "SuFjcEmp/TE="; private readonly string Key = "KIPSToILGp6fl+3gXJvMsN4IajizYBBT"; public CryptoHelper() { } /// <summary> /// 获取加密服务类 /// </summary> /// <returns></returns> private TripleDESCryptoServiceProvider GetCryptoProvider() { TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider(); provider.IV = Convert.FromBase64String(IV); provider.Key = Convert.FromBase64String(Key); return provider; } /// <summary> /// 获取加密后的字符串 /// </summary> /// <param name="inputValue">输入值.</param> /// <returns></returns> public string GetEncryptedValue(string inputValue) { TripleDESCryptoServiceProvider provider = this.GetCryptoProvider(); // 创建内存流来保存加密后的流 MemoryStream mStream = new MemoryStream(); // 创建加密转换流 CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(), CryptoStreamMode.Write); // 使用UTF8编码获取输入字符串的字节。 byte[] toEncrypt = new UTF8Encoding().GetBytes(inputValue); // 将字节写到转换流里面去。 cStream.Write(toEncrypt, 0, toEncrypt.Length); cStream.FlushFinalBlock(); // 在调用转换流的FlushFinalBlock方法后,内部就会进行转换了,此时mStream就是加密后的流了。 byte[] ret = mStream.ToArray(); // Close the streams. cStream.Close(); mStream.Close(); //将加密后的字节进行64编码。 return Convert.ToBase64String(ret); } /// <summary> /// 获取解密后的值 /// </summary> /// <param name="inputValue">经过加密后的字符串.</param> /// <returns></returns> public string GetDecryptedValue(string inputValue) { TripleDESCryptoServiceProvider provider = this.GetCryptoProvider(); byte[] inputEquivalent = Convert.FromBase64String(inputValue); // 创建内存流保存解密后的数据 MemoryStream msDecrypt = new MemoryStream(); // 创建转换流。 CryptoStream csDecrypt = new CryptoStream(msDecrypt, provider.CreateDecryptor(), CryptoStreamMode.Write); csDecrypt.Write(inputEquivalent, 0, inputEquivalent.Length); csDecrypt.FlushFinalBlock(); csDecrypt.Close(); //获取字符串。 return new UTF8Encoding().GetString(msDecrypt.ToArray()); }
2.AES加密解密
//AES加密函数 public static string Encrypt(string toEncrypt) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012"); byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Convert.ToBase64String(resultArray, 0, resultArray.Length); } //AES解密函数 public static string Decrypt(string toDecrypt) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012"); byte[] toEncryptArray = Convert.FromBase64String(toDecrypt); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return UTF8Encoding.UTF8.GetString(resultArray); }
3.DES加密解密
//加密密钥 private static byte[] DESKey=new byte[]{11,23,93,102,72,41,18,12}; //解密密钥 private static byte[] DESIV=new byte[]{75,158,46,97,78,57,17,36}; public string Encode(string Encode_String) { DESCryptoServiceProvider objDES=new DESCryptoServiceProvider(); MemoryStream objMemoryStream=new MemoryStream(); CryptoStream objCryptoStream=new CryptoStream(objMemoryStream,objDES.CreateEncryptor(DESKey,DESIV),CryptoStreamMode.Write); StreamWriter objStreamWriter=new StreamWriter(objCryptoStream); objStreamWriter.Write(Encode_String); objStreamWriter.Flush(); objCryptoStream.FlushFinalBlock(); objMemoryStream.Flush(); return Convert.ToBase64String(objMemoryStream.GetBuffer(),0,(int)objMemoryStream.Length); } public string Decode(string Encode_String) { DESCryptoServiceProvider objDES=new DESCryptoServiceProvider(); byte[] Input=Convert.FromBase64String(Encode_String); MemoryStream objMemoryStream=new MemoryStream(Input); CryptoStream objCryptoStream=new CryptoStream (objMemoryStream,objDES.CreateDecryptor(DESKey,DESIV),CryptoStreamMode.Read); StreamReader objStreamReader=new StreamReader(objCryptoStream); return objStreamReader.ReadToEnd(); }
相关推荐
这个压缩包中的"AES.cs"文件是一个C#实现的AES加密解密帮助类,方便在C#项目中直接集成使用。 AES加密过程主要分为以下几个步骤: 1. **预处理**:原始数据被拆分成128位的块,不足128位的数据需要填充到128位。...
加密解密帮助类
在IT行业中,安全是至关重要的一个领域,尤其是在网络通信和数据传输中。C#作为.NET框架的主要编程语言,提供了丰富的库...在实际开发中,`CertificateRSAHelper`这样的辅助类可以帮助封装这些操作,使代码更简洁易用。
这个“AES帮助类”和“String帮助类”可能是为了简化AES加密解密操作而设计的Java库。 AES算法基于替换和置换的原理,通过固定的加密密钥对原始数据进行加密,只有持有相同解密密钥才能还原数据。其工作模式有ECB、...
C#的字符串加密码类,DES加密解密类 DESEncrypt 简单实用,直接导入。
在实际开发中,这样的加密解密处理类可以帮助保持代码的整洁,提高可维护性和安全性。开发者可以轻松地在项目中调用这些类,而无需每次都手动处理加密解密的细节。同时,应始终关注最新的安全标准和最佳实践,避免...
总的来说,这个“php实现的加密解密处理类”是一个实用的工具,可以帮助PHP开发者更好地保护他们的应用程序和用户数据。通过深入理解并合理使用这个类库,可以提高代码的安全性和效率,同时降低开发复杂性。在实际...
3DES加密解密的全工具类,快速帮助新人进行3Des加密解密
在IT领域,加密技术是确保数据安全的重要手段之一。AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,因其...这个实战例程可以帮助开发者更好地掌握Qt环境下的加密解密操作,提高数据安全保护能力。
本文将围绕“易飞用户加密解密”这一主题,深入探讨其原理、应用及操作流程,帮助读者更好地理解和运用这一技术。 一、加密与解密基础 1. 加密:加密是将明文信息转化为密文的过程,通过特定的加密算法,使得原始...
Java实现的RSA加密解密算法示例 本文主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了Java RSA加密解密算法的相关...这些知识点对于Java开发者来说非常重要,可以帮助他们更好地理解和实现RSA加密解密算法。
在本压缩包中,提供了RSA加密解密的工具——PRO_TDES_RSA.exe,这是一个执行程序,能够帮助用户对文件进行加密和解密操作。结合"RSATool工具简易操作指南 .doc",用户可以详细了解如何使用这个工具来保护他们的敏感...
本篇文章将详细探讨C#中用于加密和解密字符串的类以及其使用方法,以帮助开发者在实际项目中实现对数据的安全保护。 一、加密与解密的重要性 在互联网应用中,保存用户密码时采用明文存储是非常危险的,一旦数据库...
例如,`ZYBEncrypt.csproj`和`ZYBEncrypt.sln`是项目文件,可能包含了整个加密解密库的构建和解决方案信息。开发者可以通过这些源代码学习和理解如何在C#中实际应用这些加密算法,或者直接在自己的项目中复用这些...
《加密解密小玩具v0.6》是一款实用的加密解密软件,它集成了多种经典且常用的加密算法,如RSA、AES、BASE64、BASE32、RC4等,同时还提供了MD5和SHA系列的哈希加密功能。这款工具能够帮助用户快速对数据进行加密和...
压缩包内包含加密解密帮助类,包含功能:MD5 加密,加盐MD5加密,SHA 加密,SHA256 加密,SHA512 加密,HmacSha1 加密,HmacSha256 加密,HmacSha512 加密,HmacSha384 加密,HmacMd5 加密,HmacRipeMd160 加密,AES...
总结,"功能强大的php加密解密类"是一个专为PHP设计的工具,帮助开发者便捷地进行数据加密和解密。理解加密解密的基础知识,以及如何在PHP中安全地实现这一过程,是确保应用程序安全的关键。通过自定义类,我们可以...
CTF编码工具支持Base加密解密、字符加密解密、Key加密解密,能够帮助用户实现多种类型的CTF编码加密解密操作,此外还提供了进制转换、字频分析、哈希计算、时间-时间戳、字符全大/小写、字符反转、Hex_str反转等功能...
TEA加密解密是理解其工作原理和实施过程的关键。 TEA加密算法的核心是一个迭代的过程,它使用了64轮的加法、异或和位移操作。算法的基本步骤包括四步操作:Add、XOR、Shift和Add。每个轮次中,两个32位的半密钥(也...
在实际应用中,这个类库可以帮助开发者轻松地集成加密解密功能,例如在用户密码存储、传输敏感数据或者保护API调用的安全性等方面。使用自定义类库的一个好处是,可以统一整个项目的加密策略,避免因为使用不同加密...