2017-05-04 4 views
-1

を持つ構造体/最適な方法。HMAC私は、OpenSSLを持つ構造体をHMACするための簡単な方法があれば、私は1つのバッファに構造体のすべてのフィールドを連結することを考えましたが、私はそれが最善であるかわからないだろopensslの

私は、あなたが私はこれを理解することができます

感謝を願っています。

+0

あなたは、特定の問題のための具体的な質問をする必要があります。スタックオーバーフローについては、どうやって何かをすることが大事なことではありません。 *「彼らは独断回答やスパムを誘致する傾向があるような質問がオフトピックスタックオーバーフローのためにある書籍、ツール、ソフトウェアライブラリ、チュートリアルや他のオフサイトのリソースをお勧めしますか見つけるために私たちを求めて:スタックオーバーフローは、あなたから閉じる理由を隠しますので、代わりに問題を説明し、それを解決するために今まで何が行われているのか」* – jww

答えて

0

HMACは、別のバイト配列の入力からハッシュ(バイト配列)を出力します。そのため、構造体からバイト配列(または複数の配列)を作成する必要があります。

重要なことは - あなたの構造は、固有のデータのために一意である必要があります。私が意味することは、値 "abc" "def"または "abcd" "ef"を持つ2つのフィールドを持つことです。値を連結しただけの場合は、どちらの場合も "abcdef"となり、間違ったメッセージを認証することができます。解決策は、フィールドセパレータとして一定の値を入れることができます。

+0

これは別の問題を引き起こします。フィールド値にフィールド区切り文字が含まれているとしたらどうなりますか? – NiniFi

+0

定数は同じである必要はありません。確かに、私はそのような配列を偽装する方法を想像することができます:)フィールド名(一意の名前)の区切り記号は、単一の定数値より優れています。 – gusto2

+0

フィールド名では問題は解決しません。あなたが "field1"というオブジェクトを持っているとしましょう: "abcfield2"、 "field2": "def"。それを "field1"に逆シリアル化することができます: "abc"、 "field2": "field2def"。 –

関連する問題