Skip to content

Commit 605186e

Browse files
refactor: replace StringBuilder with string interpolation expression.
1 parent ad48b2b commit 605186e

File tree

1 file changed

+3
-20
lines changed

1 file changed

+3
-20
lines changed

Nota.Cryptography/Argon2/Argon2EncodingUtils.cs

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,33 +52,16 @@ internal static class Argon2EncodingUtils
5252
/// <exception cref="ArgumentException">If the Argon2Parameters are invalid.</exception>
5353
public static string Encode(byte[] hash, Argon2Parameters parameters)
5454
{
55-
StringBuilder stringBuilder = new();
55+
byte[] salt = parameters.GetSalt();
5656
string type = parameters.Type switch
5757
{
5858
Argon2Constants.Argon2d => "$argon2d",
5959
Argon2Constants.Argon2i => "$argon2i",
6060
Argon2Constants.Argon2id => "$argon2id",
6161
_ => throw new ArgumentException("Invalid algorithm type: " + parameters.Type),
6262
};
63-
64-
stringBuilder.Append(type);
65-
stringBuilder.Append("$v=")
66-
.Append(parameters.Version)
67-
.Append("$m=")
68-
.Append(parameters.Memory)
69-
.Append(",t=")
70-
.Append(parameters.Iterations)
71-
.Append(",p=")
72-
.Append(parameters.Parallelism);
73-
74-
if (parameters.GetSalt() != null)
75-
{
76-
stringBuilder.Append('$').Append(Base64.Encode(parameters.GetSalt()));
77-
}
78-
79-
stringBuilder.Append('$').Append(Base64.Encode(hash));
80-
81-
return stringBuilder.ToString();
63+
64+
return $"{type}$v={parameters.Version}$m={parameters.Memory},t={parameters.Iterations},p={parameters.Parallelism}${Base64.Encode(salt)}${Base64.Encode(hash)}";
8265
}
8366

8467
/// <summary>

0 commit comments

Comments
 (0)