Autor | Zpráva | ||
---|---|---|---|
vasek Profil * |
#1 · Zasláno: 31. 3. 2011, 00:02:04
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 |
#2 · Zasláno: 31. 3. 2011, 08:23:38
Pokud používáš v systému všude UTF-8, tak není potřeba nic převádět.
|
||
vasek Profil * |
#3 · Zasláno: 31. 3. 2011, 09:03:18
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 |
#4 · Zasláno: 31. 3. 2011, 09:26:07
Tak budeš muset v těch jiných systémech převádět hesla před kontrolou do UTF-8.
|
||
Časová prodleva: 3 dny
|
|||
vasek Profil * |
#5 · Zasláno: 3. 4. 2011, 12:35:58
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 |
#6 · Zasláno: 3. 4. 2011, 19:42:17
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$'); |
||
Časová prodleva: 13 let
|
0