GoogleSpreadsheetでMD5ハッシュを取得する時の落とし穴

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

違う文字列を渡しても`DigestAlgorithm.MD5`のハッシュ値が同じ結果になる

Googleスプレッドシートのセルの値をMD5化したい場合など、GoogleのAppsスクリプト(GAS)で`Utilities.DigestAlgorithm.MD5`メソッドを使って日本語文字列のMD5のハッシュ値を取得したい場合は、あえて文字エンコードを指定しないと、違う文字列を渡しているのに同じハッシュ値が出力されてしまいます。


// input に日本語文字列を渡すと正常に処理されないケース
var rawHash = Utilities.computeDigest( Utilities.DigestAlgorithm.MD5, input );
// input に日本語文字列を渡すと正常に処理されないケース
var rawHash = Utilities.computeDigest( Utilities.DigestAlgorithm.MD5, input, Utilities.Charset.UTF_8);

日本語にも対応したGoogleAppsScriptを作成したので、ご利用ください。

[GAS]GoogleスプレッドシートでMD5関数・4桁の短いハッシュを取得する関数
[GAS]GoogleスプレッドシートでMD5関数・4桁の短いハッシュを取得する関数
GoogleSpreadsheetsやG Suiteなどで使える、GAS(GoogleAppsScript)用のMD5関数と、MD5を4桁に短くしたハッシュ値を返すユーザー関数

参考文献

関連記事

日本語版Google Spreadsheetでガントチャート用Googleガジェット... ■ガント・チャート用GoogleガジェットのURL http://www.viewpath.net/Website/Modules/Gantt.aspx?nocache 制作元:ViewPath ---「独自ガジェットのURL」に上記のガジェットのURLを使えば、Googleガジェ...
PHPでBloggerにカテゴリを設定する方法 Blogger API+Zend GData APIでラベル/タグ付き記事を投稿する PHPでGoogleのBlogger(Blogspot)に記事を投稿する場合、ZendのGoogleDataAPIが便利なのですが、記事にラベルやタグといったカテゴリーを付けて投稿する事ができます。ルーク、ソ...
Googleスプレッドシートで、同じ列に合計欄と数値欄を設置する... Google Spreadsheetsで見出し行を合計欄にした同列の最後の行まで動的にSUMする Googleスプレッドシート上で、ある列、たとえば"B列"の全合計を知りたい場合、"=SUM(B:B)"の計算式で列の総合計が算出できます。 しかし、合計欄と対象となる数値一覧を同じ列内に設置し...
Googleのスクリプトトリガーで”Bad Request Error 400”の回避方... GoogleSpreadsheetでトリガーを登録すると"Bad Request Error400"が発生する ■答え スクリプトには問題がないという確信がある場合は、ブラウザのクッキーを削除するか、シークレットモード(ステルスモード/プライベートモード/インコグニトモード)で再トライし...

スポンサーリンク
レクタングル(大)広告

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク
レクタングル(大)広告