正在做日志需求:
导出的日志文件,再导入.
领导说要知道导出的日志中间是否被修改过??
能实现吗?日志是txt、xml格式都可以,只要能在windows下打开查看就行。
导出的日志文件,再导入.
领导说要知道导出的日志中间是否被修改过??
能实现吗?日志是txt、xml格式都可以,只要能在windows下打开查看就行。
解决方案 »
- C# winform 在treeview中如何用shift+左键进行多选呢。
- this.Response.Redirect(@"~/company_search.aspx?Sortid=" + ShopSortid ) 输入 : 时跳转错误为什么???? 谢谢
- 如何获取listView中鼠标点中图标的索引值
- 下载代码
- [帮顶有分] 请教关于VSS的两个小问题
- c#中有无c++中union 一样的关键字,可以给同一块内存(或者同一个指针)不同的命名?
- C# TextBox 输入计算表达式的验证和计算
- 求助win7 64位下调用32位非托管dll 问题
- 通过接口调用带构造函数继承类的方法?
- C#中有没有整数的集合类
- 怎样在Winform程序中输入回车阿?
- 在Visual C#.net中调用怎么调用Win32API
严格一点,你就用FileSystemWatcher进行监视,如果文件有变动进行事件通知做进一步的操作。
能说详细些吗?我不懂如何用MD5!
using System.IO;
using System.Security.Cryptography;
using System.Text;class FileEncrypt { public static Byte[] ConvertStringToByteArray(String s)
{
return (new UnicodeEncoding()).GetBytes(s);
} public static void Main()
{
//创建文件流
FileStream fs = new FileStream("EncryptedFile.txt",FileMode.Create,FileAccess.Write); Console.WriteLine("输入一些要存储在加密文件中的文本::");
String strinput = Console.ReadLine(); Byte[] bytearrayinput=ConvertStringToByteArray(strinput); //具有随机密钥的 DES 实例
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//从此实例创建 DES 加密器
ICryptoTransform desencrypt = des.CreateEncryptor(); //创建使用 des 加密转换文件流的加密流
CryptoStream cryptostream = new CryptoStream(fs,desencrypt,CryptoStreamMode.Write); //写出 DES 加密文件
cryptostream.Write(bytearrayinput,0,bytearrayinput.Length); cryptostream.Close(); //创建文件流以读回加密文件
FileStream fsread = new FileStream("EncryptedFile.txt",FileMode.Open,FileAccess.Read); //从此 des 实例创建 DES 解密器
ICryptoTransform desdecrypt = des.CreateDecryptor(); //创建加密流集合以便对传入的字节进行读取并执行 des 解密转换
CryptoStream cryptostreamDecr = new CryptoStream(fsread,desdecrypt,CryptoStreamMode.Read);
//输出已解密文件的内容
Console.WriteLine( (new StreamReader(cryptostreamDecr, new UnicodeEncoding())).ReadToEnd() ); Console.WriteLine ();
Console.WriteLine ("按 Enter 键继续...");
Console.ReadLine();
}
}
首先
string data=//你的数据string bs1=data+"你自己定义的常量字符"
byte[] temp=System.Text.Encoding.Unicode.GetBytes(bs1);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] temp=md5.ComputeHash(temp);将temp转换为字符串,可以使用string bs2=temp[0].ToString("X2")+temp[1].ToString("X2")..n
然后data=data+bs2;
这个就是你要保存的日值文件的文本了.载入的时候和此操作相反就可以了.
string loaddata=//你从文件中在入的数据
string data=loaddata.substring(0,loaddata.的长度-32)
string md5=loaddata.substring(loaddata.的长度-32,32)然后再执行
string bs1=data+"你自己定义的常量字符"
byte[] temp=System.Text.Encoding.Unicode.GetBytes(bs1);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] temp=md5.ComputeHash(temp);将temp转换为字符串,可以使用string bs2=temp[0].ToString("X2")+temp[1].ToString("X2")..n
if(bs2==md5)
{
//没有修改
}
else
{
//修改过
}