/ / CakePHP Username Encryption / Dešifrovanie - php, cakephp, šifrovanie

CakePHP Užívateľské meno Šifrovanie / dešifrovanie - php, cakephp, šifrovanie

Vo svojej aplikácii CakePHP sa snažím šifrovať uložené údaje používateľov, čo som z väčšej časti úspešne vykonal. Môžem si s generálnym šifrovaním / dešifrovaním pracovať beforeSave() a afterFind(), ale narazím na problémyšifrovanie / dešifrovanie užívateľských mien - problém spočíva v tom, že komponent AuthComponent vyhľadáva v databáze presnú zhodu so zadaným používateľským menom. Používateľské meno zašifrujem pred jeho odoslaním do komponentu AuthComponent, ale toto nevykoná nič, čo by sa stalo, keby som šifroval reťazec (pomocou Security::rijndael nezíska vždy rovnaký výsledok (ako hash).

Ja som sa hrabal v AuthComponent v priečinku lib, ale váham s vykonaním akýchkoľvek zmien. Myslím, že mi zostali dve otázky:

  1. Je možné v databáze šifrovať používateľské mená a nechať si ich prečítať Cake? (Som si takmer istý, že je to áno, takže ...)
  2. Ako by som mal v tom pokračovať? Možno správanie? Jednoduchá modifikácia komponentu AuthComponent?

Vďaka!

odpovede:

0 pre odpoveď č. 1

Na základe toho, čo ste povedali, nevidím dôvod na hranie s komponentom AuthComponent, jednoducho by som ho použil bezpečnostný program.

Ako ste už povedali, ak chcete uložiť hash namiesto obyčajného textu do databázy, budete musieť využiť spätné volanie beforeSave (), váš hash sa vykoná pomocou Bezpečnosť :: hash ().

Je dôležité si všimnúť, že HASH už nemôže byť dešifrovaný. Ak teda naozaj chcete šifrovať / dešifrovať, musíte použiť Bezpečnosť :: šifra ()