Pracuję nad pewnym projektem który jest pisany w C# łączy się z bazą danych, konta użytkowników itd.
Chciałem dodać możliwość rejestracji, logowania itp z poziomu przeglądarki ale już na starcie napotkałem problem :/
A mianowicie kodowanie hasła przez program jest dla mnie nie do końca zrozumiałe i nie potrafię przerobić go na PHP
Oto kod C#
var sha = new SHA256Managed(); string pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes("plaintext_password))).Replace("-", ""); string salt = "AD07665AE12767B2B712752595D0E4C16479B01D07E66AF9F9E6081C811C4C21"; //Salt pulled from the database string encrypted_pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes(pass + salt))).Replace("-", "");
Proszę o pomoc w napisaniu kodu PHP którego kodowanie będzie identycznym wynikiem jak kodowanie przez program.
Zaznaczam, że zmiana kodu w C# nie wchodzi w grę :/
EDIT:
Po kilku godzinach walki rozwiązałem swój problem.
Kod dla potomnych

function strToHex($string){ $hex = ''; for ($i=0; $i<strlen($string); $i++){ $ord = ord($string[$i]); } } $salt = "AD07665AE12767B2B712752595D0E4C16479B01D07E66AF9F9E6081C811C4C21"; $pass = strToHex(hash('sha256',$password,true)).$salt; $hash = strToHex(hash('sha256',$pass,true));
Może ktoś kiedyś będzie miał podobny problem.