欢迎来到天天文库
浏览记录
ID:40522287
大小:64.50 KB
页数:7页
时间:2019-08-04
《c#实现拖拽打开方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、首先,这是个winform的程序,部署在市场部同事的笔记本上面,基于.Net2.0做的,它的功能大致如下:·加密合同文档(*.doc)·在客户处解密此合同文档,进行编辑,再次加密·回到公司可以通过密码打开它由于时间关系,只是很粗略的做了个大概。打开vs2008,建立一个winform项目,设计程序界面如下: 很简单的,待会儿在文章最后会有下载地址。我们可以把任意文件,拖入程序界面,即可进行加密,在此暂不作说明,大家可以待会儿下载回去试试,很简单的。下面分享一下加密代码吧: 代码usingSystem;usingSystem.Colle
2、ctions.Generic;usingSystem.Text;usingSystem.Security.Cryptography;usingSystem.IO;namespaceFileLock{//////异常处理类///publicclassCryptoHelpException:ApplicationException{publicCryptoHelpException(stringmsg):base(msg){}}publicclassCryptoHelp{privateconstulon
3、gFC_TAG=0xFC010203040506CF;privateconstintBUFFER_SIZE=128*1024;//////检验两个Byte数组是否相同//////Byte数组///Byte数组///true-相等privatestaticboolCheckByteArrays(byte[]b1,byte[]b2){if(b1.Length==b2.Le
4、ngth){for(inti=0;i///创建RijndaelSymmetricAlgorithm//////密码//////加密对象privatestaticSymmetricAlgorithmCreate
5、Rijndael(stringpassword,byte[]salt){PasswordDeriveBytespdb=newPasswordDeriveBytes(password,salt,"SHA256",1000);SymmetricAlgorithmsma=Rijndael.Create();sma.KeySize=256;sma.Key=pdb.GetBytes(32);sma.Padding=PaddingMode.PKCS7;returnsma;}//////加密文件随机数生成///p
6、rivatestaticRandomNumberGeneratorrand=newRNGCryptoServiceProvider();//////生成指定长度的随机Byte数组//////Byte数组长度///随机Byte数组privatestaticbyte[]GenerateRandomBytes(intcount){byte[]bytes=newbyte[count];rand.GetBytes(by
7、tes);returnbytes;}//////加密文件//////待加密文件///加密后输入文件///加密密码publicstaticvoidEncryptFile(stringinFile,stringoutFile,stringpassword){using(FileStreamfin=File.OpenRead(inFi
8、le),fout=File.OpenWrite(outFile)){longlSize=fin.Length;//输入文件长度intsize=(int)lSize;byte[]bytes=newbyte[B
此文档下载收益归作者所有