🔑
JavaScriptでsha256を使って暗号化する
はじめに
暗号化をする場面ってだいたいどのプロジェクトでもあると思います。
ということで、簡単にやってみます。
nodeの標準モジュールを使って暗号化
nodeには標準モジュールとして「crypto」というモジュールがあります。
これを使うと、このような感じになります。import {createHash} from 'crypto'
const encryptSha256 = (str) => {
const hash = createHash('sha256');
hash.update(str);
return hash.digest('hex')
}
conencryptSha256('test');
createHashではHashクラスのインスタンスが返却されます。
Hashインスタンスの使い道としては、- ストリーム
- ハッシュ値の算出
の二つがあると書いてあります。
で、次につながる「update」では、先程作ったHashインスタンスに引数を入れます。
イメージ的には、ドロップレットにファイルをドラッグ&ドロップするようなイメージ?ですかね?
最後の「digest」では指定したエンコーディングで上記のHashインスタンスをエンコードしてくれます。
今回は「hex」を指定しているので、文字列が返ってきます。
crypto-jsでやってみる
var SHA256 = require("crypto-js/sha256");
const encryptSha256 = (str) => {
const hash = SHA256("test");
return hash.toString()
}
先程のnodeのcryptoでやったことをcrypto-jsで再現すると上記のようになります。
ちょっとだけ短いですが、どちらもやろうと思えばワンライナーでいけますね。
まとめ
この程度なら、ライブラリ使うまでもないと思いました。
Discussion