Прежде чем идти дальше, вы должны взглянуть на PCI-DSS , который точно определяет, какие процессы вам нужны, чтобы даже рассмотреть возможность хранения зашифрованных номеров карт.Короче говоря, вам следует серьезно подумать об аутсорсинге стороннему платежному шлюзу.
Если после того, как вы поняли, какие последствия вы хотите предпринять, то снова - следуйте рекомендациям PCI.Для симметричного шифрования номеров карт вы, вероятно, захотите использовать AES и разработать очень строгие политики управления ключами .
Если, однако, вы хотите сохранить только частичную картучисло, затем PCI сообщает, что вы можете хранить (в абсолютном максимуме) только первые шесть и последние четыре цифры.Первые шесть цифр - все, что вам нужно для идентификации типа карты.Последние четыре цифры, которые вы можете счесть необходимыми, помогут предотвратить проблемы, когда у клиента есть почти идентичные номера карт.
ИМХО хранение частичных номеров карт (в виде обычного текста) - это то, что вы хотите сделать, а затем передать обработку на аутсорсинг.шифрование, авторизация и расчёт на сторонний шлюз .Платежный шлюз даст вам уникальный идентификатор токена для каждой карты, которую вы им передаете, чтобы вы могли ссылаться на уникальную карту для повторной авторизации или возврата средств и т. Д.