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(); }
相关推荐
加密解密帮助类
C# RSA读取密钥文件pfx cer 签名验签加密解密帮助类以及RSA公钥私钥与java互转
这是一个用C#写的AES加密解密帮助类,直接将该类放入项目中即可调用
C#的字符串加密码类,DES加密解密类 DESEncrypt 简单实用,直接导入。
辅助加密解密的使用,其它的我不多说,直接查看代码用的main试例就成
3DES加密解密的全工具类,快速帮助新人进行3Des加密解密
一组HmacSHA加密方法封装类,方便在编程过程中直接使用
压缩包内包含加密解密帮助类,包含功能:MD5 加密,加盐MD5加密,SHA 加密,SHA256 加密,SHA512 加密,HmacSha1 加密,HmacSha256 加密,HmacSha512 加密,HmacSha384 加密,HmacMd5 加密,HmacRipeMd160 加密,AES...
CTF编码工具支持Base加密解密、字符加密解密、Key加密解密,能够帮助用户实现多种类型的CTF编码加密解密操作,此外还提供了进制转换、字频分析、哈希计算、时间-时间戳、字符全大/小写、字符反转、Hex_str反转等功能...
多款加密解密工具,许多时候对很多忘了文件加密的朋友有些小小帮助。
自己做的加密解密类,对数据进行简单的加密 希望对大家有帮助。
C++写的DES加密解密算法,里面包含了对txt文本文件的加密,支持分组加密.是做课程设计的时候做的,难度不大.希望对做课程设计的朋友有帮助
C#实现: MD5加密, DES加密解密, RAS加密解密, 这是一些常用的加密解密方式,告别敏感信息泄露很有帮助。
这个软件用来帮助你实现DES/3DES的加密解密算法。软件包中包括了源代码和GUI程序,可以方便的设定密钥,原文,DES/3DES加密解密。作者是尹学渊
* RSA加密解密:私钥解密,公钥加密。 * RSA数字签名-俗称加签验签:私钥加签,公钥验签。 * RSA加密解密:私钥解密,公钥加密。 * RSA数字签名-俗称加签验签:私钥加签,公钥验签。 * RSA加密解密:私钥...
本程序实现了rsa的加密解密过程,演示了rsa算法的过程,用c实现的程序,对密码学实验很有帮助
本程序实现了DES的加密解密过程。对密码学实验的的同学会有帮助
此Proxool修改包已经加入加密解密功能,直接加入压缩包中的jar再将DecUtil类放于项目,此类中有main方法生成加密和解密文。本人已经自用项目一切OK,希望你也行,因为很费时间费力顾10分对不起了,不会用的可以评论...
该资源C++实现简单凯撒加密解密算法,内容简单实用,希望能帮助大家