mirror of
https://github.com/streetwriters/notesnook-sync-server.git
synced 2026-02-12 11:12:44 +00:00
identity: replace Sodium.Core with Geralt
This commit is contained in:
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
using Sodium;
|
||||
using Geralt;
|
||||
|
||||
namespace Streetwriters.Identity.Helpers
|
||||
{
|
||||
@@ -27,12 +27,14 @@ namespace Streetwriters.Identity.Helpers
|
||||
{
|
||||
public static bool VerifyPassword(string password, string hash)
|
||||
{
|
||||
return PasswordHash.ArgonHashStringVerify(hash, password);
|
||||
return Argon2id.VerifyHash(Encoding.UTF8.GetBytes(hash), Encoding.UTF8.GetBytes(password));
|
||||
}
|
||||
|
||||
public static string CreatePasswordHash(string password)
|
||||
{
|
||||
return PasswordHash.ArgonHashString(password, 3, 65536);
|
||||
Span<byte> hash = new(new byte[128]);
|
||||
Argon2id.ComputeHash(hash, Encoding.UTF8.GetBytes(password), 3, 65536);
|
||||
return Encoding.UTF8.GetString(hash);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,18 +28,14 @@ namespace Streetwriters.Identity.Services
|
||||
{
|
||||
public string HashPassword(TUser user, string password)
|
||||
{
|
||||
if (password == null)
|
||||
throw new ArgumentNullException(nameof(password));
|
||||
|
||||
ArgumentNullException.ThrowIfNullOrEmpty(password, nameof(password));
|
||||
return PasswordHelper.CreatePasswordHash(password);
|
||||
}
|
||||
|
||||
public PasswordVerificationResult VerifyHashedPassword(TUser user, string hashedPassword, string providedPassword)
|
||||
{
|
||||
if (hashedPassword == null)
|
||||
throw new ArgumentNullException(nameof(hashedPassword));
|
||||
if (providedPassword == null)
|
||||
throw new ArgumentNullException(nameof(providedPassword));
|
||||
ArgumentNullException.ThrowIfNullOrEmpty(hashedPassword, nameof(hashedPassword));
|
||||
ArgumentNullException.ThrowIfNullOrEmpty(providedPassword, nameof(providedPassword));
|
||||
|
||||
return PasswordHelper.VerifyPassword(providedPassword, hashedPassword) ? PasswordVerificationResult.Success : PasswordVerificationResult.Failed;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<PackageReference Include="Scriban" Version="5.5.1" />
|
||||
<PackageReference Include="SendGrid" Version="9.24.4" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
|
||||
<PackageReference Include="Sodium.Core" Version="1.2.3" />
|
||||
<PackageReference Include="Geralt" Version="3.1.0" />
|
||||
<PackageReference Include="IdentityServer4.Contrib.MongoDB" Version="4.0.0-rc.2" />
|
||||
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="4.1.2" />
|
||||
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.2" />
|
||||
|
||||
Reference in New Issue
Block a user