Мне нужна помощь для преобразования хешированного пароля ASCII MD5 в хешированный пароль Unicode MD5?
Например, я буду использовать строку «пароль».
Когда он конвертируется в байтовый массив ascii, я получаю хэш в кодировке base64 X03MO1qnZdYdgyfeuILPmQ ==
Когда он конвертируется в байтовый массив Unicode, я получаю хэш-код sIHb6F4ew в кодировке base64 // D1OfQInQAzQ ==
Все мои пароли хранятся в хеше md5, который был применен к байтовому массиву ascii, но я пытаюсь перенести пользовательские данные моего приложения в систему, которая хранит пароль в хеше md5, к которому применен байтовый массив юникода.
В случае, если неясно, с помощью следующего кода C #:
var passwordBytes = Encoding.ASCII.GetBytes("password");
var hashAlgorithm = HashAlgorithm.Create("MD5");
var hashBytes = hashAlgorithm.ComputeHash(passwordBytes);
Моя текущая система использует это, но система, в которую я перехожу, имеет другую первую строку. Он использует Encoding.Unicode.GetBytes.
Кто-нибудь знает, как я могу конвертировать свои пароли? От
X03MO1qnZdYdgyfeuILPmQ==
в
sIHb6F4ew//D1OfQInQAzQ==
Я предполагаю, что ответ заключается в том, что я не могу ... кодирование выполняется до хеширования, но я подумал, что я поинтересуюсь умом стек-потока и посмотрим, есть ли у кого-нибудь способ.