誰か教えて、SHAとバイトオーダー
2008年11月11日17:29
誰も教えてくれないと思うけど。
SHAというのは、インターネットの認証でなくてはならない技術ですごく重要だ。 最近知ったのだけど、これは内部的には32ビット整数で計算されるということだった。 しかし、普通、認証されるデータはバイナリ形式、8ビットの数値の羅列になっている。 ということは「バイトオーダー」の問題がここにあるはずだ。 こっちの人がビッグエンディアンで認証したのに、むこうの人がリトルエンディアンで認証したら、同じものを認証しているのに、無効な認証ということになってしまう。
これってビッグエンディアン、リトルエンディアンのどっちで認証するのが正しいのだろう。
いわゆるネットワークバイトオーダーで処理するのがただしいのかな...。
何のことを言っているのかわからなければ、読まないで下さい。
って最後に言ってももう遅いけど。
SHAというのは、インターネットの認証でなくてはならない技術ですごく重要だ。 最近知ったのだけど、これは内部的には32ビット整数で計算されるということだった。 しかし、普通、認証されるデータはバイナリ形式、8ビットの数値の羅列になっている。 ということは「バイトオーダー」の問題がここにあるはずだ。 こっちの人がビッグエンディアンで認証したのに、むこうの人がリトルエンディアンで認証したら、同じものを認証しているのに、無効な認証ということになってしまう。
これってビッグエンディアン、リトルエンディアンのどっちで認証するのが正しいのだろう。
いわゆるネットワークバイトオーダーで処理するのがただしいのかな...。
何のことを言っているのかわからなければ、読まないで下さい。
って最後に言ってももう遅いけど。
コメント一覧
ねこ☆ミ。 2008年11月11日 17:59
おかあつ 2008年11月11日 18:08
ねこさん、ドンピシャ。
こっちが元ネタみたい。
http://home.earthlink.net/~neilbawd/sha1.txt
http://home.earthlink.net/~neilbawd/sha1.html
は何故かリンク切れだった。
これは、ついさっきあるサンプルコードを解析した結果と一致しているので、多分あってる。
聞いてみるもんだなぁ...。
こっちが元ネタみたい。
http://home.earthlink.net/~neilbawd/sha1.txt
http://home.earthlink.net/~neilbawd/sha1.html
は何故かリンク切れだった。
これは、ついさっきあるサンプルコードを解析した結果と一致しているので、多分あってる。
聞いてみるもんだなぁ...。
おかあつ 2008年11月11日 18:09
sha1 byte order って一生懸命引いてた。
些細な違いだけど、こういう時、ひとりだと煮詰まるんだよね。
些細な違いだけど、こういう時、ひとりだと煮詰まるんだよね。
おかあつ 2008年11月11日 18:11
ありがとうを、言い忘れた。 ありがとう、ねこさん!
ねこ☆ミ。 2008年11月12日 12:43
「どういたしまして」、とか何故か自分はあまり使わない日本語なので、
you are welcome!
you are welcome!