@@ -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