zoukankan      html  css  js  c++  java
  • 获取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);
                }
     
  • 相关阅读:
    C# 多线程 异步加载 窗体
    C# 多线程 异步加载 窗体
    C#中的Debug类
    C#中的Debug类
    C# DataGridView:为行头添加行号
    C# DataGridView:为行头添加行号
    向SqlParameter内动态添加参数
    向SqlParameter内动态添加参数
    C# params关键字
    C# params关键字
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/10225275.html
Copyright © 2011-2022 走看看