A cég nemrégiben extmail+postfix szolgáltatásként használta levelezési megoldást. A meglévő OA rendszerben az alkalmazottaknak jogi fiókjukkal kell bejelentkezniük, amikor bejelentkeznek az OA-ba, de így legalább két független fiókra és jelszóra van szükség, ami bizonyos hatással van a munkahatékonyságra.
Ezért úgy döntöttünk, hogy módosítjuk a meglévő OA rendszer bejelentkezési mechanizmusát úgy, hogy ugyanazokat a fiók- és jelszóadatokat használja, mint az extmail, amelynek előnye, hogy az alkalmazottak bejelentkezhetnek az OA rendszerbe, amennyiben emlékeznek az e-mail jelszóra, ami jelentősen javíthatja a munkahatékonyságot.
Miután megértettem, az extmail a mysql-t használja az e-mail fiók adatainak mentésére, a postafiók táblájának jelszava elmenti a titkosított jelszóadatokat, de az extmail több titkosítási módszert is támogat, a részletekért ellenőrizheted a SYS_CRYPT_TYPE elem beállításait a /var/www/extsuite/extman/webman.cf fájlban.
A rendszerem md5crypt titkosítást használ, és a jelszó formátuma: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXX. Ha az eredeti jelszó már nincs rögzítve a postaláda táblájában, hogyan ellenőrizhetem, hogy a felhasználó helyesen írta be a jelszót?
Miután többször ellenőriztem a kriptos funkciók használatát a PHP kézikönyvben, rájöttem, hogy a kripta többféle hash titkosítási módszert támogat, kérjük, olvassa el részletesen a kriptos funkciók használatát a PHP kézikönyvben.
Az md5crypt sóval rendelkezik, amelyet az jellemzi, hogy ez a só a titkosított titkosított szövegben van rögzítve, azaz a $ szimbólumban és az általa szereplő karakterekben, és a fenti titkosítási eredményben szereplő só $1$k0Q4EA49$, így az eredeti jelszó titkosítási algoritmusának PHP megvalósítása 123456, a só pedig $1$k0Q4EA49$ a következők szerint:
<?php echo crypt('123456', '$1$k0Q4EA49$');
Kimenet $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Ha ezt az elvet megismerjük, integrálhatjuk az extmail postafiók fiók adatainak ellenőrzését bármelyik rendszerünkbe.
Ezen felül a Linux /etc/shadow és a grub md5-crypt titkosítási módszere pontosan ugyanaz, mint a fent említett elv: ha erőszakkal szeretnéd megváltoztatni egy fiók jelszavát 123456-re más eszközök használata nélkül, beállíthatod a megfelelő fiók második mezőjét az /etc/shadow fájlban $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr módon. |