Я пытаюсь защитить свои онлайн-транзакции еще немного.Сохранение двоичных данных в базе данных для обеспечения безопасности
Процесс Я использую для онлайн сделок: 1. Пользователь создает Заказать 2. Пользователь перенаправляет в банк для оплаты (т.е. PayPal) 3. Банк (PayPal) контактов страницы .php (Paypal IPN) в скажи мне, что заказ прошел. 4. Пользовательский заказ прошел.
В каждой транзакции, которую я генерирую, я создаю строку из sha512
. Я хочу сохранить это в базе данных, чтобы аутентифицировать информацию о заказе, когда IPN PayPal связывается со мной, чтобы сообщить мне, что заказ завершен.
Чтобы сохранить пространство базы данных, я недавно прочитал this answer и подумал, что было бы хорошо сохранить строку в двоичном столбце. У меня вопрос, как мне это сделать с PHP?
Так что у меня есть строка:
A99ACAF1FA7337F451C344C84F6800037F17EABBC32073ECEA6688B4BAD116BDB288B0D24DE7DD5C53E26A0B41242B2D2D065EDFDA5C16B4706CD5DC57226580
В PHP, как преобразовать, что в двоичное значение, так что я могу хранить их в базе данных? И будет ли он по-прежнему уникальным, как и выше? Лучшее, что я могу сделать, это строка PHP pack
, но я не уверен, как ее использовать. Или это правильный способ его использования. Обычно я бы просто сохранил вышеуказанный хэш в VARCHAR(512)
, но я хочу сохранить размер базы данных, а 512 символов - это много данных.
Итак, я могу взять этот 'raw_output' и записать его непосредственно в базу данных? – Chud37
уверен, вы можете. просто используйте поле 'VARBINARY', если вы это сделаете в mysql – Federkun
Хорошо, у меня проблемы с PDO, мне нужно связать данные странным образом? Просто добавление его в готовые переменные, похоже, не принимает. – Chud37