问题:
我正在尝试创建一个函数,该函数创建asp.net Web应用程序后端的源代码的哈希码。
只要什么都没有改变,该哈希码就必须相同。即使我重建项目。
有人知道我该怎么做吗?
我尝试过的事情:
我发现的唯一可行的解决方案是将所有重要文件合并为一个大字符串,并从中创建一个哈希码。
此解决方案的问题是,我必须将所有源文件添加到输出目录,出于安全原因不应该执行的操作。
希望有人有个好主意=)
谢谢!
更新:
我可以通过启用Renat建议的确定性构建来解决我的问题。
只需将确定性标志添加到我的.csproj文件中,如下所示:
<Deterministic>True</Deterministic>
答案 0 :(得分:4)
即使我重建我的项目
您可以使用Deterministic Build,然后它将在每个构建中使用相同的源代码生成相同的二进制文件。然后您可能会获得二进制文件的哈希值。