开发者社区> 问答> 正文

php重写一段c#代码遇到问题,报错

下面是一段c#代码,大体意思我知道。希望高人能帮帮我,再仔细的分析一下。我用php写不出来,Base64的结果根本不一样。

FileInfo info = new FileInfo(file);    // 读取文件

 var hasher = SHA256.Create(); 

 byte[] hashValue; 

 using (Stream s = File.OpenRead(file)) 

 { 

      hashValue = hasher.ComputeHash(s);    // 文件流进行sha256加密,这个是不是怎么个文件流进行加密呢?

 }

 string sha256 = Convert.ToBase64String(hashValue);  //转换base64。这个base64跟php的有什么区别呢?

展开
收起
一枚小鲜肉帅哥 2020-06-20 19:55:17 1221 0
1 条回答
写回答
取消 提交回答
  • 菜不可及的程序猿

    $handle = fopen($path, "r");
    $size = filesize($path);
    $contents = fread($handle, $size);
    $SHA256 = base64_encode(hash('sha256', $contents, true));
    ######

    描述太差,代码格式PHP的base64算法和C#是有区别的,区别在于对生成的字符串中+ - 等符号的处理上,C#会保持原样,而PHP会替换

    2020-06-20 19:56:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载