Node.js

Node.js 実践講座 〜基礎編〜 その4

More than 1 year has passed since last update.

はじめに

この記事では、標準ライブラリの使用方法の解説の一部をご紹介します。今回はcryptoによるSHA-256ハッシュ値計算のサンプルプログラムを作成します。

ワークスペースの作成

下記コマンドでプログラムを格納するディレクトリを新たに作成します。

mkdir workspace/js/basic/02-standard-library/03-crypto
touch workspace/js/basic/02-standard-library/03-crypto/index.js

cd workspace/js/basic/02-standard-library/03-crypto

または、

mkdir -p workspace/js/basic/02-standard-library/03-crypto
touch workspace/js/basic/02-standard-library/03-crypto/index.js

cd workspace/js/basic/02-standard-library/03-crypto

SHA-256ハッシュ値の計算

ソースコードの内容を下記に示します。

index.js
'use strict';

var crypto = require('crypto')

if (require.main === module) {
  main({ argv: process.argv })
}

function main(options) {
  var argv = options.argv
  var plain = argv[2]

  var hash = crypto.createHash('sha256')
  hash.update(plain)

  var digest = hash.digest('base64')

  console.log('plain: ' + plain)
  console.log('digest: ' + digest)
}

下記コマンドを下記に示します。

node index.js plain

実行結果の例を下記に示します。

plain: plain
digest: oRbJ7UbWIHc0pDMX0w/Yj1KshjTDfZBLv05B2GX5BHU=

crypto.createHash関数は第1引数として与えられるアルゴリズムのHashクラスのオブジェクトを生成して返します。
Hashクラスのupdateメソッドでハッシュ値を計算する対象のデータを入力します。
Hashクラスのdigestメソッドでハッシュ値の計算結果を取得します、第1引数として戻り値のフォーマットを指定します。

おわりに

次回は、eventsによるEventEmitterの使用のサンプルプログラムを作成します。