📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

FEISTEL_OBFUSCATE



ビット長と値の濃度を保持したまま整数(例: ID や電話番号)を決定論的に難読化するため、テーブル結合が引き続き機能します。

構文

FEISTEL_OBFUSCATE( <number>, <seed> )

引数

引数説明
number入力
seed異なるテーブルにある対応する非テキストカラムのデータは同じ方法で変換されるため、難読化後も異なるテーブル間でデータを JOIN できます

戻り値の型

入力と同じ

例

SELECT feistel_obfuscate(10000,1561819567875); +------------------------------------------+ | feistel_obfuscate(10000, 1561819567875) | +------------------------------------------+ | 15669 | +------------------------------------------+

feistel_obfuscate は元の入力のビット数を保持します。より大きな範囲へのマッピングが必要な場合は、元の入力にオフセットを追加できます。例: feistel_obfuscate(n+10000,50)

SELECT feistel_obfuscate(10,1561819567875); +------------------------------------------+ | feistel_obfuscate(10, 1561819567875) | +------------------------------------------+ | 13 | +------------------------------------------+

電話番号形式の例(seed = 4242):

SELECT 13000000000 + number AS phone, feistel_obfuscate(13000000000 + number, 4242) AS masked_phone FROM numbers(5); -- Sample output +-------------+--------------+ | phone | masked_phone | +-------------+--------------+ | 13000000000 | 12221668677 | | 13000000001 | 10245458699 | | 13000000002 | 15398657780 | | 13000000003 | 9910824758 | | 13000000004 | 13299971128 | +-------------+--------------+

このページは役に立ちましたか?