[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
2022-07-10 08:40:22
質問
私はnode.jsで書かれたwebsocketサーバーを作ろうとしています。
サーバーを動作させるために、私は文字列のSHA1ハッシュを取得する必要があります。
私がしなければならないことは、次のように説明されています。 ドキュメントのセクション 5.2.2 ページ 35 にあります。 .
注意: 例として、もし
"Sec-WebSocket-Key"
ヘッダの値が、クライアントのハンドシェイクで"dGhlIHNhbXBsZSBub25jZQ=="
であった場合、サーバはその文字列を"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
を追加して 文字列"dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
. この文字列をSHA-1ハッシュすると、0xb3 0x7a 0x4f 0x2c 0xc0 0x62 0x4f 0x16 0x90 0xf6 0x46 0x06 0xcf 0x38 0x59 0x45 0xb2 0xbe 0xc4 0xeaという値が得られます。 この値をbase64エンコードすると、次のような値になります。"s3pPLMBiTxaQ9kYGzzhZRbK+xOo="
という値が返されます。 という値が返されます。"Sec-WebSocket-Accept"
ヘッダーに返されます。
どのように解決するのですか?
以下の
crypto.createHash()
機能
と、関連する
hash.update()
と
hash.digest()
関数を使用します。
var crypto = require('crypto')
var shasum = crypto.createHash('sha1')
shasum.update('foo')
shasum.digest('hex') // => "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] React.jsでテキスト入力のchange/focusOutイベントを正しくキャッチする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] node.jsでIDとして使用するためのランダムなSHA1ハッシュを生成するにはどうすればよいですか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] <noscript> の反対語のHTMLはありますか?
-
[解決済み] マングース ユーザーの全リストを取得する
-
[解決済み] JavaScript 配列 中括弧と大括弧
-
[解決済み] コンソールで変数のトレースを行う場合、どのように改行すればよいのでしょうか?
-
[解決済み] jqueryで部分文字列を作成する方法
-
[解決済み] AngularJsでng-repeatを使用してフィルタリング(キー、値)を行うには?