Chosen SHA variant is not supported がjsSHAで出るときの対処法

シェアする

なんかよくわからないままJavaScriptでSHA256ハッシュを生成しないといけないので使ってみたjsSHAでちょっとハマった対処法。

jsSHA 1.6.0は関係ない。呼び方が変わったjsSHA

javascriptでSHA256ハッシュを作ろう、とするとすぐに出てくるのがjsSHA。

必要なアルゴリズムのjsをsrc/から取ってきて呼ぶだけなので簡単でいいんですが、やってみると動かない。
「Chosen SHA variant is not supported」というエラーがコンソールに出ます。
なんか調べると・・・1.6.0を使うといいよ、というソースが出てきたり・・・・しますが、結論、それでは解決しません。
ソースを多分
var shaObj = new jsSHA(src_text, "ASCII");
var sha256digest = shaObj.getHash("SHA-256", "HEX");

みたいな感じでかいていると思いますが、文法変わってます。

var shaObj = new jsSHA("SHA-512", "TEXT");
shaObj.update("This is a ");
shaObj.update("test");
var hash = shaObj.getHash("HEX");

こんな感じ。
先にアルゴリズムとソースの種類指定してインスタンス作って、.updateで中身を書き換え。それからgetHashでハッシュ化。