Autor Zpráva
vasek
Profil *
Ahoj. Mám aplikaci v utf8 a potřeboval bych heslo ukládat v nějaké libovolné znakové sadě a ve formátu crypt. Je toto možné? Počítá s tím funkce crypt? Stačí jen vstupní řetězce (heslo, salt) převést pomocí iconv?
ShiraNai7
Profil
Pokud používáš v systému všude UTF-8, tak není potřeba nic převádět.
vasek
Profil *
V php aplikaci ano, ale ne všechny systémy využívající tato hesla používají utf-8a předpokládají sovje nativní kódování.
ShiraNai7
Profil
Tak budeš muset v těch jiných systémech převádět hesla před kontrolou do UTF-8.
vasek
Profil *
Já potřebuji přesný opak. Ty ostatní systémy už běží a já jim potřebuji změnit heslo z PHP. Ty ostatní systémy využívají cp1250, iso8859-2 aj. varianty bajtově kompatibilní se znaky nacházejícími se v saltu (./0-9A-Za-z), takže v tomto případě mi stačí převádět heslo v případě použití třeba diaktritiky. Rád bych ale aby to bylo kompatibilní i s jinými sadami např. ucs-2, což jak se zdá tak jednoduše nepůjde viz:
crypt('heslo', iconv('utf-8', 'UCS-2', '$6$round=100$a3dYZ3495dajYXKa$'));
Davex
Profil
Heslo musí být ve všech systémech uloženo ve stejném kódování, aby se při ověřování vždy převedlo na stejný hash, který bude pokaždé v ASCII bez diakritiky. V [#5] převádíš úplně zbytečně sůl - má se převést heslo.

crypt(iconv('utf-8', 'windows-1250', 'heslo háčky čárky'), '$6$round=100$a3dYZ3495dajYXKa$');

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0