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

    C#加密解密总结.docx

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

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

    C#加密解密总结.docx

    1、C#加密解密总结【转】C#加密解密总结 ASCIIEncoding.ASCII.GetBytes(sKey); 这里的sKey必须是8位英文字母。/须添加对System.Web的引用usingSystem.Web.Security;./SHA1加密字符串/源字符串/加密后的字符串publicstringSHA1(stringsource)returnFormsAuthentication.HashPasswordForStoringInConfigFile(source,SHA1);/MD5加密字符串/源字符串/加密后的字符串publicstringMD5(stringsource)retur

    2、nFormsAuthentication.HashPasswordForStoringInConfigFile(source,MD5);方法二(可逆加密解密):usingSystem.Security.Cryptography;.publicstringEncode(stringdata)bytebyKey=System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);bytebyIV=System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);DESCryptoServiceProvidercryptoProvider=

    3、newDESCryptoServiceProvider();inti=cryptoProvider.KeySize;MemoryStreamms=newMemoryStream();CryptoStreamcst=newCryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);StreamWritersw=newStreamWriter(cst);sw.Write(data);sw.Flush();cst.FlushFinalBlock();sw.Flush();returnConver

    4、t.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);publicstringDecode(stringdata)bytebyKey=System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);bytebyIV=System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);bytebyEnc;trybyEnc=Convert.FromBase64String(data);catchreturnnull;DESCryptoServiceProvidercryptoProvider

    5、=newDESCryptoServiceProvider();MemoryStreamms=newMemoryStream(byEnc);CryptoStreamcst=newCryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);StreamReadersr=newStreamReader(cst);returnsr.ReadToEnd();方法三(MD5不可逆):usingSystem.Security.Cryptography;./MD5不可逆加密/32位加密publicstrin

    6、gGetMD5_32(strings,string_input_charset)MD5md5=newMD5CryptoServiceProvider();bytet=md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s);StringBuildersb=newStringBuilder(32);for(inti=0;it.Length;i+)sb.Append(ti.ToString(x).PadLeft(2,0);returnsb.ToString();/16位加密publicstaticstringGetMd5_16

    7、(stringConvertString)MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();stringt2=BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString),4,8);t2=t2.Replace(-,);returnt2;方法四(对称加密):usingSystem.IO;usingSystem.Security.Cryptography;.privateSymmetricAlgorithmmobjCryptoSe

    8、rvice;privatestringKey;/对称加密类的构造函数/publicSymmetricMethod()mobjCryptoService=newRijndaelManaged();Key=Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7;/获得密钥/密钥privatebyteGetLegalKey()stringsTemp=Key;mobjCryptoService.GenerateKey();bytebytTemp=mobjCryptoService.Key;intKeyLength=bytTemp

    9、.Length;if(sTemp.LengthKeyLength)sTemp=sTemp.Substring(0,KeyLength);elseif(sTemp.LengthKeyLength)sTemp=sTemp.PadRight(KeyLength,);returnASCIIEncoding.ASCII.GetBytes(sTemp);/获得初始向量IV/初试向量IVprivatebyteGetLegalIV()stringsTemp=E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk;mobjCryptoSe

    10、rvice.GenerateIV();bytebytTemp=mobjCryptoService.IV;intIVLength=bytTemp.Length;if(sTemp.LengthIVLength)sTemp=sTemp.Substring(0,IVLength);elseif(sTemp.LengthIVLength)sTemp=sTemp.PadRight(IVLength,);returnASCIIEncoding.ASCII.GetBytes(sTemp);/加密方法/待加密的串/经过加密的串publicstringEncrypto(stringSource)bytebytIn

    11、=UTF8Encoding.UTF8.GetBytes(Source);MemoryStreamms=newMemoryStream();mobjCryptoService.Key=GetLegalKey();mobjCryptoService.IV=GetLegalIV();ICryptoTransformencrypto=mobjCryptoService.CreateEncryptor();CryptoStreamcs=newCryptoStream(ms,encrypto,CryptoStreamMode.Write);cs.Write(bytIn,0,bytIn.Length);cs

    12、.FlushFinalBlock();ms.Close();bytebytOut=ms.ToArray();returnConvert.ToBase64String(bytOut);/解密方法/待解密的串/经过解密的串publicstringDecrypto(stringSource)bytebytIn=Convert.FromBase64String(Source);MemoryStreamms=newMemoryStream(bytIn,0,bytIn.Length);mobjCryptoService.Key=GetLegalKey();mobjCryptoService.IV=GetL

    13、egalIV();ICryptoTransformencrypto=mobjCryptoService.CreateDecryptor();CryptoStreamcs=newCryptoStream(ms,encrypto,CryptoStreamMode.Read);StreamReadersr=newStreamReader(cs);returnsr.ReadToEnd();方法五:usingSystem.IO;usingSystem.Security.Cryptography;usingSystem.Text;./默认密钥向量privatestaticbyteKeys=0x12,0x3

    14、4,0x56,0x78,0x90,0xAB,0xCD,0xEF;/*/*/*/DES加密字符串/待加密的字符串/加密密钥,要求为8位/加密成功返回加密后的字符串,失败返回源串publicstaticstringEncryptDES(stringencryptString,stringencryptKey)trybytergbKey=Encoding.UTF8.GetBytes(encryptKey.Substring(0,8);bytergbIV=Keys;byteinputByteArray=Encoding.UTF8.GetBytes(encryptString);DESCryptoSer

    15、viceProviderdCSP=newDESCryptoServiceProvider();MemoryStreammStream=newMemoryStream();CryptoStreamcStream=newCryptoStream(mStream,dCSP.CreateEncryptor(rgbKey,rgbIV),CryptoStreamMode.Write);cStream.Write(inputByteArray,0,inputByteArray.Length);cStream.FlushFinalBlock();returnConvert.ToBase64String(mSt

    16、ream.ToArray();catchreturnencryptString;/*/*/*/DES解密字符串/待解密的字符串/解密密钥,要求为8位,和加密密钥相同/解密成功返回解密后的字符串,失败返源串publicstaticstringDecryptDES(stringdecryptString,stringdecryptKey)trybytergbKey=Encoding.UTF8.GetBytes(decryptKey);bytergbIV=Keys;byteinputByteArray=Convert.FromBase64String(decryptString);DESCrypto

    17、ServiceProviderDCSP=newDESCryptoServiceProvider();MemoryStreammStream=newMemoryStream();CryptoStreamcStream=newCryptoStream(mStream,DCSP.CreateDecryptor(rgbKey,rgbIV),CryptoStreamMode.Write);cStream.Write(inputByteArray,0,inputByteArray.Length);cStream.FlushFinalBlock();returnEncoding.UTF8.GetString

    18、(mStream.ToArray();catchreturndecryptString;方法六(文件加密):usingSystem.IO;usingSystem.Security.Cryptography;usingSystem.Text;./加密文件privatestaticvoidEncryptData(StringinName,StringoutName,bytedesKey,bytedesIV)/Createthefilestreamstohandletheinputandoutputfiles.FileStreamfin=newFileStream(inName,FileMode.O

    19、pen,FileAccess.Read);FileStreamfout=newFileStream(outName,FileMode.OpenOrCreate,FileAccess.Write);fout.SetLength(0);/Createvariablestohelpwithreadandwrite.bytebin=newbyte100;/Thisisintermediatestoragefortheencryption.longrdlen=0;/Thisisthetotalnumberofbyteswritten.longtotlen=fin.Length;/Thisisthetot

    20、allengthoftheinputfile.intlen;/Thisisthenumberofbytestobewrittenatatime.DESdes=newDESCryptoServiceProvider();CryptoStreamencStream=newCryptoStream(fout,des.CreateEncryptor(desKey,desIV),CryptoStreamMode.Write);/Readfromtheinputfile,thenencryptandwritetotheoutputfile.while(rdlentotlen)len=fin.Read(bi

    21、n,0,100);encStream.Write(bin,0,len);rdlen=rdlen+len;encStream.Close();fout.Close();fin.Close();/解密文件privatestaticvoidDecryptData(StringinName,StringoutName,bytedesKey,bytedesIV)/Createthefilestreamstohandletheinputandoutputfiles.FileStreamfin=newFileStream(inName,FileMode.Open,FileAccess.Read);FileS

    22、treamfout=newFileStream(outName,FileMode.OpenOrCreate,FileAccess.Write);fout.SetLength(0);/Createvariablestohelpwithreadandwrite.bytebin=newbyte100;/Thisisintermediatestoragefortheencryption.longrdlen=0;/Thisisthetotalnumberofbyteswritten.longtotlen=fin.Length;/Thisisthetotallengthoftheinputfile.int

    23、len;/Thisisthenumberofbytestobewrittenatatime.DESdes=newDESCryptoServiceProvider();CryptoStreamencStream=newCryptoStream(fout,des.CreateDecryptor(desKey,desIV),CryptoStreamMode.Write);/Readfromtheinputfile,thenencryptandwritetotheoutputfile.while(rdlentotlen)len=fin.Read(bin,0,100);encStream.Write(bin,0,len);rdlen=rdlen+len;encStream.Close();fout.Close();fin.Close();分享


    注意事项

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

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开