PasswordHashTests.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using MediaBrowser.Common;
  3. using MediaBrowser.Common.Cryptography;
  4. using Xunit;
  5. namespace Jellyfin.Common.Tests
  6. {
  7. public class PasswordHashTests
  8. {
  9. [Theory]
  10. [InlineData(
  11. "$PBKDF2$iterations=1000$62FBA410AFCA5B4475F35137AB2E8596B127E4D927BA23F6CC05C067E897042D",
  12. "PBKDF2",
  13. "",
  14. "62FBA410AFCA5B4475F35137AB2E8596B127E4D927BA23F6CC05C067E897042D")]
  15. public void ParseTest(string passwordHash, string id, string salt, string hash)
  16. {
  17. var pass = PasswordHash.Parse(passwordHash);
  18. Assert.Equal(id, pass.Id);
  19. Assert.Equal(salt, Convert.ToHexString(pass.Salt));
  20. Assert.Equal(hash, Convert.ToHexString(pass.Hash));
  21. }
  22. [Theory]
  23. [InlineData("$PBKDF2$iterations=1000$62FBA410AFCA5B4475F35137AB2E8596B127E4D927BA23F6CC05C067E897042D")]
  24. public void ToStringTest(string passwordHash)
  25. {
  26. Assert.Equal(passwordHash, PasswordHash.Parse(passwordHash).ToString());
  27. }
  28. }
  29. }