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);
    

      

  • 相关阅读:
    csu1217: 奇数个的那个数
    小试SAS 判别分析
    bfs poj2965
    STL set常用操作
    csu1002 A+B(III)
    HDOJ 1002 的几种方法
    SQL知识积累
    CSV文件格式介绍
    ASP.net Web Form 知识积累
    C# 位域[flags] 枚举
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4796287.html
Copyright © 2011-2022 走看看