public hashResponse hashPassword(hashRequest hashRequest) { var response = new hashResponse(); int iterations = hashRequest.iterations.HasValue ? (int)hashRequest.iterations : 36000; try { switch (hashRequest.Algorithm) { case "bcrypt": response.HashedPassword = BCrypt.Net.BCrypt.HashPassword(hashRequest.Password); break; case "sha256": byte[] salt = Encoding.ASCII.GetBytes(hashRequest.Salt); response.HashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2( password: hashRequest.Password, salt: salt, prf: KeyDerivationPrf.HMACSHA256, iterationCount: iterations, numBytesRequested: 256 / 8)); break; } } catch (System.Exception e) { response.Message = e.Message; } return(response); }
public IActionResult Post([FromBody] hashRequest request) { return(Ok(_hashesService.hashPassword(request))); }