Маскированная кастрюля уникальна?

Я могу получить номер кредитной карты моего клиента и общий хеш из платежного решения следующим образом:

492500******1234

Платежное решение, которое я использую, может каждый раз генерировать разные хэши pan для одной и той же кредитной карты, поэтому это приводит к появлению нескольких записей для одной и той же карты в моей базе данных. Чтобы предотвратить это, я думаю сделать столбец с номером карты (в котором хранятся значения, как показано выше) уникальным, чтобы обеспечить уникальность. Этот номер уникален? Хотя бы для каждого клиента?


person Mehmed    schedule 25.08.2016    source источник


Ответы (2)


Маскированный номер PAN, очевидно, не уникален в глобальном масштабе. Существует неплохая вероятность того, что он будет уникальным для каждого клиента, хотя это и не гарантируется. Чтобы сделать его более уникальным, вы можете объединить его с датой истечения срока действия, а затем хешировать их вместе (PCI-DSS определяет, что дата истечения срока действия является конфиденциальными данными только в том случае, если они хранятся с полным PAN).

Я бы подумал, что ваш платежный провайдер сможет предоставить уникальный токен для каждой представленной карты?

person PaulG    schedule 25.08.2016

По сути, в индустрии карт существует концепция диапазона PAN, где начальные 6 цифр определяют BIN, а 2 — контрольные цифры, а остальные — это диапазон карты, где вы можете выпустить карту, например, от 5273 4400 0000 0000 до 5273 4499 9999 9999, метод, который использование не соответствует критериям уникальности.

Например: номер карты клиента A — 4925 0000 0000 1234, а номер карты клиента B — 4925 0000 0012 1234, согласно вашей логике оба будут замаскированы под 492500******1234, что неверно.

person Waqas iqbal    schedule 03.02.2020
comment
Спасибо @Waqas Iqbal. Ценю ваш быстрый комментарий. - person khalidmehmoodawan; 03.02.2020