2017-09-27 7 views
0

私は、日付スタンプデータをJSONファイルに保存する必要があります。これはセンサー出力です。毎日同じJSONファイルが追加データで更新されます。今では、すでに使用可能なデータに書込み禁止機能を追加して、新しい行だけをドキュメントに追加でき、手動による改ざんを行わないようにすることは可能ですか?JSONファイルの古いデータを書き込むことができますが、追加のみ可能ですか?

私は、毎回更新後にチェックサムを作成すると役立つかもしれないと思うが、私はそれをどのように実装するのか分からない。つまり、JSONファイルの一部が編集可能な場合、おそらくチェックサムも編集可能です。

他の方法で履歴を保護できますか?

+0

*改ざん防止*検出*したいですか? – Alfe

答えて

0

通常、書き込み保護は完全なファイルに対してのみ存在します。したがって、ファイルの書き込み権限を取り消すことができますが、追加も不可能です。

改ざんが行われていないことを保証するために、標準的な方法は暗号化することです記号データ。これは、原則として、次のように行うことができます。

  • ファイルの内容を取ってください。
  • この文字列には秘密鍵(任意の文字列またはランダムな文字を使用しますが、長くなるほど良い)を追加します。
  • 暗号チェックサム(SHA256ハッシュまたは同様のもの)を作成します。
  • このハッシュをファイルに追加します。 (前後の改行)

これは、ファイルに何かを追加するたびに再度実行できます。あなた以外の誰もあなたの秘密鍵を知っているわけではないので、あなた以外の誰も、ファイルの部分の正しいハッシュコードをハッシュコードの上に生成することはできません。

これは、の改ざんを防ぎますが、を防ぎませんが、検出可能なになります。

単なるテキストファイルの場合はsha256sumのようなシェルユーティリティを使用して比較的簡単に実行できます。しかし、ファイルにはJSON構造があります。これは複雑なケースです。なぜなら、ファイル内の位置は、(追加されているテキストファイルとは異なり)データの経過時間とはそれ以上相関しないからです。

あなたが望むものを達成するには、データに関する年齢情報が必要です。これありませんか? @RohitのようにJSON構造体を提供すると、より詳細なアドバイスが可能になるかもしれません。

関連する問題