zoukankan      html  css  js  c++  java
  • C# 获取SHA256码

    1. 如果是要获得某个字符串的SHA256,代码如下:

            public static string SHA256(string str)
            {
                //如果str有中文,不同Encoding的sha是不同的!!
                byte[] SHA256Data = Encoding.UTF8.GetBytes(str);
               
                SHA256Managed Sha256 = new SHA256Managed();
                byte[] by = Sha256.ComputeHash(SHA256Data);
                
                return BitConverter.ToString(by).Replace("-", "").ToLower(); //64
                //return Convert.ToBase64String(by);                         //44
            }
    

    2. 如果想要获得某个文件的SHA256, 代码如下:

      

            public string SHA256()
            {
            
               string str = @"C:UsersICCWDT_Drivericcwdt.sys";
                FileStream stream = new FileStream(str, FileMode.Open);
    
                SHA256Managed Sha256 = new SHA256Managed();
                byte[] by = Sha256.ComputeHash(stream);
    
                return BitConverter.ToString(by).Replace("-", "").ToLower(); //64
                //return Convert.ToBase64String(by);                         //44
            }
    

    3. 通过查看系统的API可以看到可以传入的参数有两种:就是传入byte[]类型或者Stream类型

      

     
            // 摘要: 
            //     计算指定字节数组的哈希值。
            //
            // 参数: 
            //   buffer:
            //     要计算其哈希代码的输入。
            //
            // 返回结果: 
            //     计算所得的哈希代码。
            //
            // 异常: 
            //   System.ArgumentNullException:
            //     buffer 为 null。
            //
            //   System.ObjectDisposedException:
            //     此对象已释放。
    public byte[] ComputeHash(byte[] buffer);
            //
            // 摘要: 
            //     计算指定 System.IO.Stream 对象的哈希值。
            //
            // 参数: 
            //   inputStream:
            //     要计算其哈希代码的输入。
            //
            // 返回结果: 
            //     计算所得的哈希代码。
            //
            // 异常: 
            //   System.ObjectDisposedException:
            //     此对象已释放。
    public byte[] ComputeHash(Stream inputStream);
    

      

  • 相关阅读:
    安装、升级pip,但是python -m pip install --upgrade pip报错
    架构即未来阅读笔记3
    第十二周学习总结
    《大型网站技术架构:核心原理与案分析》阅读笔记02
    2021寒假(12)
    2021寒假(10)
    Spark简介
    《大型网站技术架构:核心原理与案分析》阅读笔记01
    2021寒假(9)
    2021寒假(8)
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4796287.html
Copyright © 2011-2022 走看看