Hash256 — функция скриптa и диаграммы
Hash256() возвращает 256-разрядное значение хэша для сочетания значений входного выражения. Результат — строка из 43 символов. Хеш-значения полезны для маскировки информации, позволяющей установить личность (Personally Identifiable Information, PII), такой как имена клиентов, номера социального страхования или номера счетов.
Синтаксис:
Hash256(expr{, expression})
Возвращаемые типы данных: строка
Аргумент | Описание |
---|---|
expr | Текстовая строка для оценки. |
Пример | Результат |
---|---|
Hash256( 'abc', 'xyz', '123' ) | Возвращает MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
Hash256( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Возвращает G7*=6GKPJ(Z+)^KM?<$'AI.)?U$#X2RB[:0ZP=+Z`F: |
Пример. Основы использования функции Hash256
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных, который загружается в таблицу данных под именем Example.
-
Следующие поля, которые будут использоваться для создания 256-битного хэш-значения:
-
Region
-
Year
-
Month
-
Скрипт загрузки
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
-
Region
-
Year
-
Month
Создайте следующее вычисляемое измерение:
-
=Hash256(Region, Year, Month), чтобы вычислить 256-битное хэш-значение.
Регион | Год | Month | Hash256(Region, Year, Month) |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
В каждой строке хэш-строки для Region, Year и Month объединяются вместе, и в результате получается строка из 43 символов.
Следующий код показывает, как использовать эту функцию в скрипте загрузки.
Hash_256:
Load *,
Hash256(Region, Year, Month) as Hash256_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
Регион | Год | Month | Hash256_Region_Year_Month |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
Пример. Сценарий использования Hash256 с дубликатами записей
Обзор
В этом примере для каждой записи о продукте создается уникальное хэш-значение. Хэш-значение служит уникальным идентификатором, позволяя компании эффективно обнаруживать и обрабатывать дубликаты.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных, который загружается в таблицу данных под именем Example.
-
Следующие поля в таблице данных:
-
TransactionID
-
ProductID
-
ProductName
-
SupplierID
-
Скрипт загрузки
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001, 100
2, 102, Widget B, S002, 200
3, 101, Widget A, S001, 50
];
Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
-
Transaction ID
-
ProductID
-
ProductName
-
SupplierID
Создайте следующее вычисляемое измерение:
-
=Hash256(ProductID, ProductName, SupplierID), чтобы вычислить ключ из 43 символов.
TransactionID | ProductID | ProductName | SupplierID | Hash256(ProductID, ProductName, SupplierID) |
---|---|---|---|---|
1 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&`6RA0(`%6T?YZQ.+>*&\JF |
3 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
Сравните вывод функции Hash256. Обратите внимание, что первая и третья записи TransactionID имеют дубликаты хэш-значений, потому что комбинация строковых значений ProductID, ProductName и SupplierID в этих строках одинакова.
Пример. Сценарий использования функции Hash256 для анонимизации данных
Обзор
Компания, предоставляющая финансовые услуги, обрабатывает конфиденциальную информацию клиентов, такую как номера кредитных карт, номера социального страхования и имена клиентов. Для защиты конфиденциальности и обеспечения соответствия нормативным требованиям, таким как «Общий регламент по защите данных» (General Data Protection Regulation, GDPR) или «Закон о передаче и защите данных учреждений здравоохранения» (Health Insurance Portability and Accountability Act, HIPAA), необходимо анонимизировать конфиденциальные данные при создании отчетов для анализа. Однако также необходимо поддерживать согласованность, чтобы можно было отслеживать одного и того же клиента в разных наборах данных, не раскрывая его личности.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
-
Набор данных, который загружается в таблицу данных под именем Example.
-
Следующие поля в таблице данных:
-
CustomerID
-
CustomerName
-
SSN
-
Скрипт загрузки
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
-
CustomerID
-
CustomerName
-
SSN
Создайте следующие вычисляемые измерения:
-
=Hash256(CustomerName)
-
=Hash256(SSN)
CustomerID | CustomerName | SSN | Hash256(CustomerName) | Hash256(SSN) |
---|---|---|---|---|
101 | John Doe | 123-45-6789| | GMD(*B9*!PQ&MTY2@$4A\KCL?[0@T%D@8C#6&UR8/95 | N&[PSH:I$M?OF<5/9LV&N*;`CZ((X'"9Y2FKJC6W04[ |
102 | Jane Smith | 987-65-4321 | EP@9]GSI)5G\I*,B?H,C?A$%VG:SL#6I>Q1:L<0O7UW | HCFXMR'2=\3WF6?_\6LN;.*6:K?Y:%MZ#*PP]WI`YS< |
Конфиденциальность данных: оригинальные конфиденциальные данные не раскрываются напрямую, но хеш-значение остается неизменным в разных записях. Это позволяет проводить анализ, например, агрегирование активности клиентов, не раскрывая их реальной личности.
Соответствие нормам: благодаря хешированию конфиденциальных полей компания обеспечивает соблюдение правил обращения с конфиденциальными данными.
Безопасность: функция хеширования создает выходные данные фиксированного размера, эту операцию нельзя обратить, что создает дополнительный уровень защиты конфиденциальных данных.