Objective-Cでハッシュ値を生成し、PHPに送って、
PHP側でもハッシュ値を生成し、この2つを比較したいと思っています。
PHPでは、以下の関数でSHA256が取得できることがわかりました。
hash_hmac('sha256', $text, false)
Objective-Cは自分で実装する必要があるようなので、以下のページのコードを使わせてもらいました。
http://zak-za-k.blogspot.jp/2011/09/objective-cs …
この2つの関数それぞれで、同じ文字列を使ってSHA256のハッシュ値を出したのですが、
結果が違ってしまいます。
2つの関数で同じ結果を得られるようにするにはどうすればよいでしょうか。
参考にした上記URLのコードの内容は、ほとんど理解できていません。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ObjectiveCの方は見ていませんが、PHPで使うべき関数を間違えているのが原因だと思います。
hash値を計算するならhash関数です。とりあえず、ハッシュ関数や暗号化などが正しく動いているかどうかを調べるときは、入力と期待される出力が例示されているテストベクトルを見るのが当たり前です。SHA256のテストベクトルは下記で見つかります。
http://www.nsrl.nist.gov/testdata/
例えば、 "abc"のhash値を計算して、16進数表示した時に
BA7816BF 8F01CFEA 414140DE 5DAE2223 B00361A3 96177A9C B410FF61 F20015AD
という結果が出ないというのはSHA256の仕様通りの計算ができていません。
ちなみに、hash_hmac('sha256', 'abc', false);するとこの値は出ません。
まずはhash関数のマニュアルを見てみましょう。
http://www.php.net/manual/ja/function.hash.php
ちなみに、hash_hmac関数というのはHMACを計算するための関数です。
http://ja.wikipedia.org/wiki/HMAC
http://www.php.net/manual/ja/function.hash-hmac. …
当然、出てくる値も違うはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Microsoft ASP プログラミング関係で質問です。 3 2022/10/11 16:06
- 数学 複素関数にロピタルの定理を使おうとしている回答者は、複素関数論はおろか微積分学もよく分かっていない、 5 2022/12/28 18:02
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
CとFORTRANの計算速度はどちら...
-
プログラミング 処理速度
-
60進数の四則計算
-
再帰呼び出しの計算量
-
構文解析を利用した計算プログ...
-
数値計算の高速化 (cos, sin, exp)
-
Perlでのルートの計算
-
排他的論理和 BCC(水平パリテ...
-
Perlで時間の計算
-
DLL(VC++で作った)で稼動中の...
-
Visual C++でdebugとreleaseで...
-
「評価」「評価値」という言葉...
-
[急募]Pythonについてです。
-
10進数から8進数へ
-
VBAの再計算が反映されない件に...
-
VB6.0でのバイナリデータの扱い...
-
R言語での極小値の指数形式での...
-
円周上の3点で作られる三角形...
-
アドオン利率を実質年率に変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
C言語の課題で、1年の秒数を計...
-
バッチファイルでウインドウを...
-
骨折リスク評価のFRAXについて...
-
変化させるセルが変化しない
-
CとFORTRANの計算速度はどちら...
-
なぜオーバーフローになるので...
-
数値計算の高速化 (cos, sin, exp)
-
モジュラス103の計算とは何でし...
-
C# 計算処理中に実行中ウィン...
-
モジュロ
-
引き放し法による除算アルゴリ...
-
60進数の四則計算
-
C言語についてです。 再帰を使...
-
Perlで時間の計算
-
CRC8を教えてください
-
傾いた四角形内の範囲の条件式
おすすめ情報