created: 2023-05-25T06:01:32.684Z
perl の Digest::SHA1=sha1_hex は空文字でもundefでも同じものが返ってくる
perl の Digest::SHA1=sha1_hex
は空文字でもundefでも同じものが返ってくる。
$ carton exec perl -MDigest::SHA1=sha1_hex -E 'say sha1_hex("")'
da39a3ee5e6b4b0d3255bfef95601890afd80709
$ carton exec perl -MDigest::SHA1=sha1_hex -E 'say sha1_hex(undef)'
da39a3ee5e6b4b0d3255bfef95601890afd80709
js だと文字列的なものしか渡せなくなっている。(nullは型エラー)
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received type number (Infinity)
もちろん空文字 (""
) を計算した時の結果は同じ。
> const crypto = require("crypto");
> const shasum = crypto.createHash("sha1");
> shasum.update("");
> shasum.digest("hex");
'da39a3ee5e6b4b0d3255bfef95601890afd80709'