17:08お世話になっています。調べまくったのですが、データハッシュの求め方を理解することができなかったので、ご教授していただけないでしょうか。一つのハッシュを計算する関数を作ることです。計算方法はMD5などを利用したいと思っていますが、解読が困難(プロは含まない)であればなんでも構いません。ライブラリの追加が必要なくて、比較的簡単にできる方法とかもあるのでしょうか?。目的はファイルハッシュとして使用です。壊れているファイルを読み込みとプログラムがフリーズしてしまうため、データが壊れているかの確認を行いたいです。一つのハッシュを計算する関数を作ることです。計算方法はMD5などを利用したいと思っていますが、解読が困難(プロは含まない)であればなんでも構いません。ライブラリの追加が必要なくて、比較的簡単にできる方法とかもあるのでしょうか?。ファイルに保存するハッシュ値の計算には『先頭アドレス』として何を使用されるのでしょうか?書き方が悪かったです。要するにメモリに格納されているデータの指定したサイズ分のデータからハッシュ値を求めたいということです。返してくれる関数が作りたいという意味です。読み込んだ時にデータが違えばエラーを返してくれる機能を追加したいと考えています。決まった桁数の数字からなら何とかなりそうなのですが、桁数(メモリに格納されているデータのサイズ数)が分からない場合にどのように計算すればいいのかが分からないです。分からない場合にどのように計算すればいいのかが分からないです。関数を作成する時にはどんなサイズ数が渡されるか「分からない」のでどのように可変的な?計算すればいいのかが分からないです。関数を作成する時にはどんなサイズ数が渡されるか「分からない」のでどのように可変的な?計算すればいいのかが分からないです。一つのハッシュを計算する関数を作ることです。PicoSHA2とか使っとけば何も考えずにイテレータ(ないしポインタ)を渡すだけでいい感じに求めてくれます。cloneするなりsubmoduleに追加してincludeするだけのheader-onlyなので気楽に使えます。ハッシュ計算の実装を自分で書くのはバグの温床なので労力を書ける場所を間違えている感を拭えません。>計算方法はMD5などを利用したいと思っていますが、解読が困難(プロは含まない)であればなんでも構いません。hash計算の結果と期待する正しいhashとの比較をする際に通常単なる文字列比較で実装しますが、これだとバイナリ中に文字列が埋め込まれるのでかんたんに書き換え可能です。結局ネットワーク経由で都度落としてくるとかしないとバイナリエディタでexe開くだけでわかっちゃうように思いますファイル破損チェックにhash計算するのはいいと思うのですが、改造対策という点では役に立たないと思われます。PicoSHA2とか使っとけば何も考えずにイテレータ(ないしポインタ)を渡すだけでいい感じに求めてくれます。ありがとうございます。ハッシュを求める機能を追加しようとしていた圧縮関数が今はうまく機能しない状態なので、これを直すことができたら試してみようと思います。ハッシュ計算の実装を自分で書くのはバグの温床なので労力を書ける場所を間違えている感を拭えません。ゲームのために作るというよりかは作ってみたいという気持ちが大きいです。これだとバイナリ中に文字列が埋め込まれるのでかんたんに書き換え可能です。ファイル破損チェックにhash計算するのはいいと思うのですが、改造対策という点では役に立たないと思われます。バイナリ内のどこからどこまでが元データで、どこからハッシュなのかが分からないので時間は稼げませんかね?フリーソフト程度なので今回はここらへんで満足しておくことにします。(記事メンテ時に使用)クッキ。