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

      

  • 相关阅读:
    ASP.NET Forms验证(自定义、角色提供程序)B
    SPSiteDataQuery使用说明
    moss2010 仿内容查询部件代码
    微软CRM系统二次开发步骤以及注意事项
    sap ABAP关于Data Reference的使用FIELDSYMBOLS
    selectoptions 模拟parmater
    ABAP "FOR ALL ENTRIES IN" 使用指南
    ABAP/4中参数的传递
    用接口CL_GUI_FRONTEND_SERVICES弹出选择文件对话框
    深入浅出理解索引结构
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4796287.html
Copyright © 2011-2022 走看看