簡體   English   中英

如何在 Rust 中獲取源代碼的哈希值

[英]How to get a hash of the source code in Rust

為了檢查客戶端和服務器之間的兼容性,我想比較它們共享代碼的版本。 我已經通過build.rs實現了這一點,它創建了src/下所有文件內容的散列,但它似乎很脆弱。 我想確保我計算了構建中實際使用的文件的哈希值。 當然,這已經在構建過程中的某個時刻完成了。

有一個功能可以在 debug info 中添加源文件的哈希值,這聽起來很有希望,但是它將數據添加到調試信息中,我想在運行時獲取它。

如果你想檢查兼容性,那么恐怕僅僅檢查你的源代碼是不夠的(至少,這並不總是正確的)。 您可能依賴某個 crate 來實現某些功能,如果您更改它的版本,它可能仍然會失敗。

所以如果你想走散列路線,那么你需要散列整個項目,包括 Cargo.lock 文件。 是的,您確實可以通過 build.rs 腳本來完成。

然而,我不會走那條路。

版本號通常用於此目的。 在 Rust 中,您應該使用語義版本控制 使用此系統,您可以從數字中看出兩個板條箱版本是否兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM