获取txt md5值上传文件完整性校验

网络上传文件到服务器 做md5 校对.判断文件是否破坏

首先求txt文件的md5值 ,1万条数据 求出的值

文件MD5:e5467b6a8e3c26af8c5af0bda3739280

服务器处理程序 也对上传的txt文件求md5值,如果这两个值相同,则文件完整

c# 求txt文件md5代码

static void GetMD5(string s)
        {
            try
            {
                FileStream file = new FileStream(s,FileMode.Open);
                MD5 md5 = new MD5CryptoServiceProvider();
                byte[] retval = md5.ComputeHash(file);
                file.Close();

                StringBuilder sc = new StringBuilder();
                for (int i = 0 ; i<retval.Length ; i++ )
                {
                    sc.Append(retval[i].ToString("x2"));
                }
                Console.WriteLine("文件MD5:{0}",sc);
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

附带

获得SHA1值,该方法中 s 代表传入的文件路径

SHA1名为安全哈希算法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。

SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要,(但会有1x10 ^ 48分之一的机率出现相同的消息摘要,一般使用时忽略)。

static void GetSHA1(string s)
        {
            try
            {
                FileStream file = new FileStream(s, FileMode.Open);
                SHA1 sha1 = new SHA1CryptoServiceProvider();
                byte[] retval = sha1.ComputeHash(file);
                file.Close();

                StringBuilder sc = new StringBuilder();
                for (int i = 0; i < retval.Length; i++)
                {
                    sc.Append(retval[i].ToString("x2"));
                }
                Console.WriteLine("文件SHA1:{0}", sc);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
 
原文地址:https://www.cnblogs.com/zuochanzi/p/10225275.html