微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 dotnet core 中获取已编译源文件的哈希值?

如何解决如何在 dotnet core 中获取已编译源文件的哈希值?

我有一个 .net core 5.0 解决方案。我想确保在源代码检出和构建机器上的编译步骤之间没有修改文件。我不想重新发明轮子,但找不到现有的解决方案。建议使用 sha256 here(请参阅最后两段)。我想到了这样的事情:

MSBuild compilation task
   Compiling solution
      Generating source code sha256 signatures

# The output may look like this

sources.sha256
/src/app1/foo.cs sha1
/src/app2/bar.cs sha1

然后我可以在 sources.sha256 上运行最终的 sha1。最后也是非常重要的一点,我可以在不同的独立维护机器上重复相同的过程,以确保相同的输出并使供应链攻击更难以执行。

我已经研究过 checksumalgorithm 编译器选项,但不确定我是否可以使用它,因为它会将 sha256 嵌入到 PDB 文件中,而且我不确定生成的 PDB 文件在构建之间是否相同将发生在不同的机器和平台上。

在构建 C# .net 核心解决方案期间运行源代码完整性检查的最佳方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。