我需要將一些日期標記的數據存儲在JSON文件中。它是一個傳感器輸出。每天使用附加數據更新相同的JSON文件。現在,是否可以對已有的數據進行一些寫保護,以確保只有新的行可以添加到文檔中,並且不會發生手動篡改?是否可以寫保護JSON文件的舊數據並只啓用追加?
我懷疑每次更新後創建校驗和可能會有所幫助,但我不知道如何實現它?我的意思是如果JSON文件的某些部分是可編輯的,那麼可能的校驗和也是可編輯的。
其他歷史保護方式?
我需要將一些日期標記的數據存儲在JSON文件中。它是一個傳感器輸出。每天使用附加數據更新相同的JSON文件。現在,是否可以對已有的數據進行一些寫保護,以確保只有新的行可以添加到文檔中,並且不會發生手動篡改?是否可以寫保護JSON文件的舊數據並只啓用追加?
我懷疑每次更新後創建校驗和可能會有所幫助,但我不知道如何實現它?我的意思是如果JSON文件的某些部分是可編輯的,那麼可能的校驗和也是可編輯的。
其他歷史保護方式?
寫保護通常只存在於完整文件中。所以你可以撤消對該文件的寫入權限,但隨後也不可能追加。
爲了確保沒有發生篡改,標準的方式是加密符號的數據。原則上,您可以這樣做:
您可以在每次向文件追加內容時再次執行此操作。因爲除了你以外,沒有人知道你的密鑰,除了你以外,沒有人能夠在哈希碼上面產生正確的哈希碼。
這不會防止篡改,但它會是可檢測。
對於純文本文件,使用shell工具如sha256sum
可以相對容易地完成此操作。但是你在文件中有一個JSON結構。這是一個複雜的情況,因爲文件中的位置與數據的年齡不再相關(與僅附加到的文本文件不同)。
要仍然實現你想要的,你需要有關於數據的年齡信息。你有這個嗎?如果您提供的JSON結構爲@Rohit所要求的,我們可能會提供更詳細的建議。
你想*防止*篡改或*檢測*它? – Alfe