Csharp/C#教程:C#实现基于Base64的加密解密类实例分享

本文实例讲述了C#实现基于Base64的加密解密类。分享给大家供大家参考。具体如下:

这个C#类是一个基于Base64的加密和解密类,用户可以可以使用默认的秘钥进行加密、解密,也可以自己设定秘钥进行加密和解密,非常实用

usingSystem; usingSystem.Security.Cryptography; usingSystem.Text; namespaceDotNet.Utilities { ///<summary> ///Encrypt的摘要说明。 ///</summary> publicclassDEncrypt { ///<summary> ///构造方法 ///</summary> publicDEncrypt() { } #region使用缺省密钥字符串加密/解密string ///<summary> ///使用缺省密钥字符串加密string ///</summary> ///<paramname="original">明文</param> ///<returns>密文</returns> publicstaticstringEncrypt(stringoriginal) { returnEncrypt(original,"sharejs.com"); } ///<summary> ///使用缺省密钥字符串解密string ///</summary> ///<paramname="original">密文</param> ///<returns>明文</returns> publicstaticstringDecrypt(stringoriginal) { returnDecrypt(original,"sharejs.com",System.Text.Encoding.Default); } #endregion #region使用给定密钥字符串加密/解密string ///<summary> ///使用给定密钥字符串加密string ///</summary> ///<paramname="original">原始文字</param> ///<paramname="key">密钥</param> ///<paramname="encoding">字符编码方案</param> ///<returns>密文</returns> publicstaticstringEncrypt(stringoriginal,stringkey) { byte[]buff=System.Text.Encoding.Default.GetBytes(original); byte[]kb=System.Text.Encoding.Default.GetBytes(key); returnConvert.ToBase64String(Encrypt(buff,kb)); } ///<summary> ///使用给定密钥字符串解密string ///</summary> ///<paramname="original">密文</param> ///<paramname="key">密钥</param> ///<returns>明文</returns> publicstaticstringDecrypt(stringoriginal,stringkey) { returnDecrypt(original,key,System.Text.Encoding.Default); } ///<summary> ///使用给定密钥字符串解密string,返回指定编码方式明文 ///</summary> ///<paramname="encrypted">密文</param> ///<paramname="key">密钥</param> ///<paramname="encoding">字符编码方案</param> ///<returns>明文</returns> publicstaticstringDecrypt(stringencrypted,stringkey,Encodingencoding) { byte[]buff=Convert.FromBase64String(encrypted); byte[]kb=System.Text.Encoding.Default.GetBytes(key); returnencoding.GetString(Decrypt(buff,kb)); } #endregion #region使用缺省密钥字符串加密/解密/byte[] ///<summary> ///使用缺省密钥字符串解密byte[] ///</summary> ///<paramname="encrypted">密文</param> ///<paramname="key">密钥</param> ///<returns>明文</returns> publicstaticbyte[]Decrypt(byte[]encrypted) { byte[]key=System.Text.Encoding.Default.GetBytes("sharejs.com"); returnDecrypt(encrypted,key); } ///<summary> ///使用缺省密钥字符串加密 ///</summary> ///<paramname="original">原始数据</param> ///<paramname="key">密钥</param> ///<returns>密文</returns> publicstaticbyte[]Encrypt(byte[]original) { byte[]key=System.Text.Encoding.Default.GetBytes("sharejs.com"); returnEncrypt(original,key); } #endregion #region使用给定密钥加密/解密/byte[] ///<summary> ///生成MD5摘要 ///</summary> ///<paramname="original">数据源</param> ///<returns>摘要</returns> publicstaticbyte[]MakeMD5(byte[]original) { MD5CryptoServiceProviderhashmd5=newMD5CryptoServiceProvider(); byte[]keyhash=hashmd5.ComputeHash(original); hashmd5=null; returnkeyhash; } ///<summary> ///使用给定密钥加密 ///</summary> ///<paramname="original">明文</param> ///<paramname="key">密钥</param> ///<returns>密文</returns> publicstaticbyte[]Encrypt(byte[]original,byte[]key) { TripleDESCryptoServiceProviderdes=newTripleDESCryptoServiceProvider(); des.Key=MakeMD5(key); des.Mode=CipherMode.ECB; returndes.CreateEncryptor().TransformFinalBlock(original,0,original.Length); } ///<summary> ///使用给定密钥解密数据 ///</summary> ///<paramname="encrypted">密文</param> ///<paramname="key">密钥</param> ///<returns>明文</returns> publicstaticbyte[]Decrypt(byte[]encrypted,byte[]key) { TripleDESCryptoServiceProviderdes=newTripleDESCryptoServiceProvider(); des.Key=MakeMD5(key); des.Mode=CipherMode.ECB; returndes.CreateDecryptor().TransformFinalBlock(encrypted,0,encrypted.Length); } #endregion } }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#中图片.BYTE[]和base64string的转换方法C#实现Base64处理的加密解密,编码解码示例C#编写的Base64加密和解密类C#对二进制数据进行base64编码的方法C#解码base64编码二进制数据的方法Base64编码解码原理及C#编程实例c#Base64编码和图片的互相转换代码asp.C#实现图片文件与base64string编码解码C#Base64编码C#Base64编码函数C#实现字符串与图片的Base64编码转换操作示例

标签: 加密解密 加密

C++中运算符 &amp;和&amp;&amp;、|和|| 的详解及区别

linux内核select/poll,epoll实现与区别

上述就是C#学习教程:C#实现基于Base64的加密解密类实例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906097.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐