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

      

  • 相关阅读:
    前端性能优化——写给网页设计师和前端工程师看的
    V8引擎——详解
    Perl_实用报表提取语言
    qs.stringify和JSON.stringify()
    js之history
    js考察this,作用域链和闭包
    css table之合并单元格
    js手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法
    windows 杀进程
    axios库的使用
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/4796287.html
Copyright © 2011-2022 走看看