Есть вот такой вот метод на C++
std::string Cryptography::DecryptLoginPassword(std::string password)
{
std::size_t remainder = password.length() % 4;
password.erase(0, remainder != 0 ? remainder : 4);
for (std::size_t i = 0; i < password.length(); i++)
password.erase(i, 1);
for (std::size_t i = 2; i < password.length(); i += 3)
password.insert(i, " ");
std::stringstream ss(password);
password.clear();
std::size_t temporary;
while (ss >> std::hex >> temporary)
password += temporary;
return password;
}
Я пытаюсь портировать его на JavaScript.
Вот что получается:
function DecryptPW(password){
var remainder = password.length % 4;
password = password.replace(password.substr(0,remainder != 0 ? remainder : 4),'');
for(var i = 0; i < password.length; i++){
password = password.replace(password.substr(i,1),'');
}
for(var i = 2; i < password.length;i+=3){
password = password.insert(i," ");
}
return password;
}
Единственная загвоздка в том, что я не знаю каким образом переписать этот кусок кода:
while (ss >> std::hex >> temporary)
password += temporary;
Буду очень признателен, если кто-нибудь объяснит, что делает ss >> std::hex >> temporary и как все это дело написать на JavaScript'е.