欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C#加密算法汇总.docx

    • 资源ID:7881955       资源大小:17.47KB        全文页数:14页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C#加密算法汇总.docx

    1、C#加密算法汇总方法一: /须添加对System.Web的引用 using System.Web.Security; . / / SHA1加密字符串 / / 源字符串 / 加密后的字符串 public string SHA1(string source) return FormsAuthentication.HashPasswordForStoringInConfigFile(source, SHA1); / / MD5加密字符串 / / 源字符串 / 加密后的字符串 public string MD5(string source) return FormsAuthentication.Has

    2、hPasswordForStoringInConfigFile(source, MD5); 方法二(可逆加密解密): using System.Security.Cryptography; . public string Encode(string data) byte byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); DESCryptoServiceProvider cryptoProvider = new

    3、 DESCryptoServiceProvider(); int i = cryptoProvider.KeySize; MemoryStream ms = new MemoryStream(); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cst); sw.Write(data); sw.Flush(); cst.FlushFinalBlock();

    4、 sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); public string Decode(string data) byte byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); byte byEnc; try byEnc = Convert.FromBase64String(data); catch r

    5、eturn null; DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream(byEnc); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read); StreamReader sr = new StreamReader(cst); return sr.ReadToEnd()

    6、; 方法三(MD5不可逆): using System.Security.Cryptography; . /MD5不可逆加密 /32位加密 public string GetMD5_32(string s, string _input_charset) MD5 md5 = new MD5CryptoServiceProvider(); byte t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s); StringBuilder sb = new StringBuilder(32); for (int i = 0

    7、; i t.Length; i+) sb.Append(ti.ToString(x).PadLeft(2, 0); return sb.ToString(); /16位加密 public static string GetMd5_16(string ConvertString) MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString), 4

    8、, 8); t2 = t2.Replace(-, ); return t2; 方法四(对称加密): using System.IO; using System.Security.Cryptography; . private SymmetricAlgorithm mobjCryptoService; private string Key; / / 对称加密类的构造函数 / public SymmetricMethod() mobjCryptoService = new RijndaelManaged(); Key = Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76

    9、*h%(HilJ$lhj!y6&(*jkP87jH7; / / 获得密钥 / / 密钥 private byte GetLegalKey() string sTemp = Key; mobjCryptoService.GenerateKey(); byte bytTemp = mobjCryptoService.Key; int KeyLength = bytTemp.Length; if (sTemp.Length KeyLength) sTemp = sTemp.Substring(0, KeyLength); else if (sTemp.Length KeyLength) sTemp

    10、= sTemp.PadRight(KeyLength, ); return ASCIIEncoding.ASCII.GetBytes(sTemp); / / 获得初始向量IV / / 初试向量IV private byte GetLegalIV() string sTemp = E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk; mobjCryptoService.GenerateIV(); byte bytTemp = mobjCryptoService.IV; int IVLength = bytTemp.Le

    11、ngth; if (sTemp.Length IVLength) sTemp = sTemp.Substring(0, IVLength); else if (sTemp.Length IVLength) sTemp = sTemp.PadRight(IVLength, ); return ASCIIEncoding.ASCII.GetBytes(sTemp); / / 加密方法 / / 待加密的串 / 经过加密的串 public string Encrypto(string Source) byte bytIn = UTF8Encoding.UTF8.GetBytes(Source); Me

    12、moryStream ms = new MemoryStream(); mobjCryptoService.Key = GetLegalKey(); mobjCryptoService.IV = GetLegalIV(); ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); cs.Write(bytIn, 0, bytIn.Length); cs.FlushFinalBl

    13、ock(); ms.Close(); byte bytOut = ms.ToArray(); return Convert.ToBase64String(bytOut); / / 解密方法 / / 待解密的串 / 经过解密的串 public string Decrypto(string Source) byte bytIn = Convert.FromBase64String(Source); MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length); mobjCryptoService.Key = GetLegalKey(); mo

    14、bjCryptoService.IV = GetLegalIV(); ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read); StreamReader sr = new StreamReader(cs); return sr.ReadToEnd(); 方法五: using System.IO; using System.Security.Cryptography; using

    15、System.Text; . /默认密钥向量 private static byte Keys = 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF ; / / DES加密字符串 / / 待加密的字符串 / 加密密钥,要求为8位 / 加密成功返回加密后的字符串,失败返回源串 public static string EncryptDES(string encryptString, string encryptKey) try byte rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)

    16、; byte rgbIV = Keys; 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);

    17、cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Convert.ToBase64String(mStream.ToArray(); catch return encryptString; / / DES解密字符串 / / 待解密的字符串 / 解密密钥,要求为8位,和加密密钥相同 / 解密成功返回解密后的字符串,失败返源串 public static string DecryptDES(string decryptString, string decryptKey

    18、) try byte rgbKey = Encoding.UTF8.GetBytes(decryptKey); byte rgbIV = Keys; byte inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, DCSP.C

    19、reateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Encoding.UTF8.GetString(mStream.ToArray(); catch return decryptString; 方法六(文件加密): using System.IO; using System.Security.Cryptography; using System.Text;

    20、 . /加密文件 private static void EncryptData(String inName, String outName, byte desKey, byte desIV) /Create the file streams to handle the input and output files. FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, Fi

    21、leAccess.Write); fout.SetLength(0); /Create variables to help with read and write. byte bin = new byte100; /This is intermediate storage for the encryption. long rdlen = 0; /This is the total number of bytes written. long totlen = fin.Length; /This is the total length of the input file. int len; /Th

    22、is is the number of bytes to be written at a time. DES des = new DESCryptoServiceProvider(); CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write); /Read from the input file, then encrypt and write to the output file. while (rdlen totlen) len = f

    23、in.Read(bin, 0, 100); encStream.Write(bin, 0, len); rdlen = rdlen + len; encStream.Close(); fout.Close(); fin.Close(); /解密文件 private static void DecryptData(String inName, String outName, byte desKey, byte desIV) /Create the file streams to handle the input and output files. FileStream fin = new Fil

    24、eStream(inName, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write); fout.SetLength(0); /Create variables to help with read and write. byte bin = new byte100; /This is intermediate storage for the encryption. long rdlen = 0; /This is th

    25、e total number of bytes written. long totlen = fin.Length; /This is the total length of the input file. int len; /This is the number of bytes to be written at a time. DES des = new DESCryptoServiceProvider(); CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(desKey, desIV), CryptoS

    26、treamMode.Write); /Read from the input file, then encrypt and write to the output file. while (rdlen totlen) len = fin.Read(bin, 0, 100); encStream.Write(bin, 0, len); rdlen = rdlen + len; encStream.Close(); fout.Close(); fin.Close(); using System;using System.Security.Cryptography;/这个是处理文字编码的前提using System.Text;using System.IO;/ / DES加密方法/ / 明文/ 密钥/ 向量/ 密文public string DESEncrypt(string strPlain,string strDESKey,string strDESIV) /把密钥转换成字节数组 byte bytesDESKey=ASCIIEncoding.ASCII.GetBytes(strDESKey


    注意事项

    本文(C#加密算法汇总.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开