Mysql
 sql >> база данни >  >> RDS >> Mysql

Скриване на истинския идентификатор на обект на база данни в url

Този въпрос е задаван много, с различен избор на думи (което затруднява да се каже „Просто го потърсете!“). Този факт предизвика публикация в блога, озаглавена The Изчерпателно ръководство за криптиране на URL параметри в PHP .

Какво искат да правят хората тук

Какво трябва да направят хората вместо това

Обяснение

Обикновено хората искат къси произволно изглеждащи URL адреси. Това не ви позволява много място за криптиране и след това удостоверяване идентификационният номер на записа в базата данни, който искате да закриете. Това ще изисква минимална дължина на URL адреса от 32 байта (за HMAC-SHA256), което е 44 знака, когато е кодирано в base64.

По-проста стратегия е да генерирате произволен низ (вижте random_compat за PHP5 реализация на random_bytes() и random_int() за генериране на тези низове) и посочете тази колона вместо това.

Също така, хашидите са счупени чрез прост криптоанализ. Заключението им гласи:

Атаката, която описах, е значително по-добра от атака с груба сила, така че от криптографска гледна точка алгоритъмът се счита за счупен, доста лесно е да се възстанови солта; прави възможно на атакуващия да изпълни кодирането в двете посоки и обезсилва свойство 2 за идеална хеш функция.

Не разчитайте на това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ПРИ ДУБЛИРАНЕ НА КЛЮЧ + АВТОМАТИЧНО НАРАЩАНЕ проблем mysql

  2. Функция SCHEMA() в MySQL

  3. Проблеми с типовете съдържание при зареждане на устройство в Django

  4. Как да експортирате база данни с помощта на командния ред

  5. Как да получите датата от колона Datetime в MySQL