メールアドレスをSHA-256でハッシュ化するExcelマクロ(ソルト値対応版)

Google 広告のカスタマーマッチや、Twitter広告のリストに基づくテイラードオーディエンスを利用する場面など、広告主が持つe-mailアドレスのリストを各プラットフォームにアップロードし、広告のターゲティングに活用する機会が増えてきました。

しかし、個人情報が判別できてしまう状態のままのe-mailアドレスリストをアップロードすることに抵抗がある方も少なくないかと思います。

また、広告の運用を広告代理店にお願いしているケースでは、個人情報が判別できる形のリストを広告代理店の担当者に渡すことなども、当然ですができません(契約上OKのケースもあるかもしれませんが…)。

こういったセキュリティのリスクに対して、プラットフォーム側は予めハッシュ化(暗号化)されたe-mailアドレスリストのアップロードに対応しているケースが多いです。

Contents

ハッシュ化されたリストのアップロードに対応している媒体

主要なプラットフォームの仕様を確認してみると、事前にハッシュ化する場合はSHA-256という形式でハッシュ化したリストであればアップロードすることが可能であるケースが多いです。

※Facebook広告の場合はアップロード後にプラットフォーム側でハッシュ化を行う仕様になっています。代理店など第三者に広告運用をお願いしている場合は、自社のビジネスマネージャーと代理店のビジネスマネージャーをパートナーとして連携した上で、自社のビジネスマネージャにカスタマーリストをアップロードし、生成されたオーディエンス(ハッシュ化済みデータ)を代理店のビジネスマネージャーに共有する形で利用してもらう形式になります

大量のメールアドレスをまとめてSHA-256でハッシュ化するExcelマクロを作りました

Google 広告でカスタマーマッチが登場した2015年当時にも、メールアドレスをSHA-256でハッシュ化するマクロを作成し、公開しておりました。

時は流れ、2020年9月にYahoo!広告で顧客データのインポート機能が実装されましたが、顧客データのアップロードにはe-mailアドレス+ソルト値をハッシュ化したものが必要となり、これに対応する形でマクロを更新しました。

先に注意点とか懸念点とか

Yahoo!広告からのリリースヘルプには、なぜかハッシュ化の形式が記載されていないのですが、ハッシュ化後のサンプルが32bit長の文字列だったことと、他媒体と異なる方式は取らないだろうという推測から、おそらくSHA-256のソルト値あり形式だと考えられます。

ハッシュ化の方法を指定しないと、プラットフォーム側で持つハッシュ化情報との整合性が取れないと思うのですが…。

※追記

Yahoo!広告のサポート窓口に確認したところ、SHA-256方式でハッシュ化すればOKとのことでした。ですので、本マクロで対応可能かと思います。

ファイルのダウンロード

こちらからどうぞ。

sha256hashmacro_ver.1.3b.zip

sha256hashmacro_ver.1.31b.zip

使い方

C列にe-mailアドレスを貼り付けて、変換ボタンをクリックするだけです。E列にハッシュ化されたe-mailアドレスが反映されます。

最大30万アドレスまで対応していますが、処理するアドレスが多ければ多いほど処理に時間がかかります。パソコンの性能によっては高負荷でパソコンが一瞬止まるかもしれません。その場合は何回かに分けてお試しください。

処理対象のe-mailアドレスがメールアドレスとして妥当と判断されたもののみ処理されます。妥当と判断された場合はD列にTrueと表示されます。

ソルト値を付けた上でハッシュ化する場合は、B16セルにソルト値を入力してから変換ボタンをクリックしてください。D16セルにて、ソルト値をe-mailアドレスの前に付与するか後ろに付与するか選択可能です。デフォルトではe-mailアドレスの後ろにソルト値をつけてハッシュ化します。

免責事項

このマクロを利用したことによってどのような損害や不利益が発生したとしても、当サイトや作者はその責任は一切負いませんので、自己責任下にてご利用ください。

余談:Excelマクロでハッシュ化ツールを作った理由

純粋にオンラインで提供されているツールで変換するのって怖くないですか?裏でログを取られていたら怖いな…と。ただそれだけです。

Excelマクロで提供すれば、オフラインの状態で使っていただけるので、インターネットから切断した状態で使っていただき、このマクロで変換し、ハッシュ化リストは別ファイルにコピペして保存。

マクロ自体も生データを貼り付けた状態では保存せずマクロを閉じれば、情報流出のリスクがオンラインツールのそれと比べて低くなるかなと思いまして。

それでも裏側で情報とっているんじゃないの?と思われるようであれば、別のサービスをお探しいただくか、自力でプログラムを書いていただければと思います…。

マクロに関する不明点や問い合わせなど

こちらのお問合せフォームか、Twitterの @sem_insight 宛にDMとかいただければ対応するかもしれません。たぶん。気が向けば…。