R

Rで行うハッシュ化【実行コード付き】

酒井 裕麻株式会社Bistro 代表取締役社長

個人情報を含むデータの取り扱い時の注意点

社外にCRMデータ(顧客情報)や決済ログなどを送信する際、データの中に顧客の個人情報がそのまま含まれていると、個人情報保護法違反にあたる可能性があります。
(※参考 : 個人情報保護法等のガイドライン)

そのため、外部にデータを送信する前に、外部の人が個人を特定できないように暗号化処理を行う必要があります。
この暗号化処理のことを一般的に「ハッシュ化(HASH化)」と呼びます。
(※参考 : ハッシュ化 – Microsoft Help)

ハッシュ化とは

ハッシュ化を行うことで、例えばメールアドレスのような個人情報を一意性を保ったまま匿名化できます。
これにより、外部の分析環境でも「同一人物」を識別しながらも、実際の個人を特定することはできません。
つまり、安全性を確保しつつ、個人単位での集計や分析が可能になります。
(※参考 : 一意性とは)

代表的なハッシュ化方式「SHA-256」

ハッシュ化には「a → u9dw」のように文字列を変換する変換ロジックがあり、さまざまな方式が存在します。
その中でも、最も広く利用されている標準的な方式が「SHA-256」です。
(※参考 : SHA-256 – Wikipedia)

本記事の内容

この記事では、R言語を用いて手元のCSVファイルに含まれる個人情報をSHA-256でハッシュ化する方法を、実際のコード付きで紹介します。

ハッシュ化処理を活用し、安全かつ個人情報に配慮したデータの受け渡しを実現しましょう。

HASH化 SHA-256

参考記事

RとR Studioのインストール方法 【誰でもできる画像解説付き】
R studioでCSVを読み込む方法【初心者向けガイド – 実行コード付き】

Rの実行ディレクトリの確認

Rでは、ファイルの読み込みや書き出しを行う基準となる場所(=実行ディレクトリ)が決まっています。
たとえば、Rの実行ディレクトリが「ドキュメント」になっている場合、処理を行いたいファイルをドキュメントフォルダ内に配置する必要があります。

まずは、現在Rがどのフォルダを実行ディレクトリとして認識しているか、以下のコードで確認してみましょう。

R 実行ディレクトリの確認
#実行ディレクトリの確認
getwd()

“C:/Users/xxx/ドキュメント”と表示された場合、これが現在の実行ディレクトリです。
この場合は、処理を行いたいCSVファイルなどのデータを「C:/Users/xxx/ドキュメント」フォルダ内に配置することで、Rから正しく読み込めるようになります。

もし別の場所で処理を行いたい場合は、次のように作業ディレクトリを変更することもできます。

実行ディレクトリの変更
# 作業ディレクトリを変更(例:デスクトップ)
setwd("C:/Users/xxx/Desktop")

実行ディレクトリの確認が取れたら、実際にハッシュ化を行うファイルを実行ディレクトリに格納しましょう。

処理ファイルの格納

ハッシュ化の対象となるファイルを用意します。
処理を行うファイルは、ファイル名を「変換前.csv」として保存してください。

CSVファイル内では、A1セルから縦方向に変換したい個人情報を入力します。
今回の例ではメールアドレスを対象に変換を行いますが、氏名や会員IDなど、任意の項目を入力していただいても問題ありません。

Rハッシュ化用ファイルの作成

入力が完了したら、実行ディレクトリに「変換前.csv」というファイル名で保存します。
このファイルが、後ほどRでハッシュ化処理を行う際の入力データとなります。

R ハッシュ化ファイルの格納

実行ディレクトリに処理対象のファイル(「変換前.csv」)を配置できたら、
次に、今回のハッシュ化処理で使用するRのコードを確認していきましょう。

R ハッシュ化実行コード

Rでのハッシュ化処理は以下のコードを実行します。

R ハッシュ化コード
# パッケージのインストール
install.packages("digest")  #最初の一回だけ実行

#ファイルの読み込み
data = read.csv("変換前.csv", header = F) 

# パッケージの読み込み
library(digest)

#ハッシュ化処理
data_convert <- data.frame(V1 = character(), stringsAsFactors = FALSE)
for (i in 1:nrow(data)) {
value <- data$V1[i]
converted_value <- digest(value, algo = "sha256", serialize = FALSE)
data_convert <- rbind(data_convert, data.frame(V1 = converted_value))
}

# ハッシュ化後ファイルの出力
write.table(data_convert$V1,"変換後.csv",row.names=F,col.names=F)

上記のコードを実行すると、処理結果としてハッシュ化されたデータが「変換後.csv」という名前で、実行ディレクトリ内に保存されます。
保存先のフォルダ(例:C:/Users/xxx/ドキュメント)を開くと、「変換後.csv」が新しく作成されていることを確認できます。

ハッシュ化後ファイル

ハッシュ化した個人情報を用いた応用

ハッシュ化した個人情報は、Google広告やYahoo!広告などの配信プラットフォームにアップロードすることで、
以下のような広告配信施策に活用することができます。

  • カスタマーマッチ配信:ハッシュ化された情報をもとに、特定のユーザーに広告を配信する方法
  • 類似オーディエンス配信:送信したユーザーデータと似た特徴を持つ新規ユーザーに広告を配信する方法

このように、ハッシュ化は単にデータを安全に受け渡すための手段にとどまらず、
自社が保有するデータを安全に活用し、より精度の高いマーケティング施策を実現するための重要な技術でもあります。

※個人情報をマーケティング活動に利用する際は、本人からの同意(許諾)を取得していることが前提です。

CONTACT

データ活用のお悩み、
直接相談しませんか。

「何から始めればいいかわからない」段階でも大丈夫です。課題の整理からお手伝いします。