Browse Source

minor refactoring.

Ugochukwu Mmaduekwe 7 years ago
parent
commit
e8e5b4f3f3

+ 19 - 0
src/libraries/hashlib4pascal/HlpConverters.pas

@@ -87,6 +87,9 @@ type
     class function ConvertStringToBytes(const a_in: String;
     class function ConvertStringToBytes(const a_in: String;
       const a_encoding: TEncoding): THashLibByteArray; overload; static;
       const a_encoding: TEncoding): THashLibByteArray; overload; static;
 
 
+    class function ConvertBytesToString(const a_in: THashLibByteArray;
+      const a_encoding: TEncoding): String; overload; static;
+
     class function ConvertHexStringToBytes(const a_in: String)
     class function ConvertHexStringToBytes(const a_in: String)
       : THashLibByteArray; static; inline;
       : THashLibByteArray; static; inline;
 
 
@@ -420,6 +423,22 @@ begin
 {$ENDIF FPC}
 {$ENDIF FPC}
 end;
 end;
 
 
+class function TConverters.ConvertBytesToString(const a_in: THashLibByteArray;
+  const a_encoding: TEncoding): String;
+begin
+
+  if a_encoding = Nil then
+  begin
+    raise EArgumentNilHashLibException.CreateRes(@SEncodingInstanceNil);
+  end;
+
+{$IFDEF FPC}
+  result := String(a_encoding.GetString(a_in));
+{$ELSE}
+  result := a_encoding.GetString(a_in);
+{$ENDIF FPC}
+end;
+
 class function TConverters.SplitString(const S: String; Delimiter: Char)
 class function TConverters.SplitString(const S: String; Delimiter: Char)
   : THashLibStringArray;
   : THashLibStringArray;
 var
 var

+ 1 - 1
src/libraries/hashlib4pascal/HlpHashResult.pas

@@ -155,7 +155,7 @@ begin
 {$ENDIF DELPHIXE7_UP}
 {$ENDIF DELPHIXE7_UP}
 {$IFDEF FPC}
 {$IFDEF FPC}
   TempHolder := EncodeStringBase64
   TempHolder := EncodeStringBase64
-    (String(TEncoding.UTF8.GetString(Self.Fm_hash)));
+    (TConverters.ConvertBytesToString(Self.Fm_hash, TEncoding.UTF8));
 {$ENDIF FPC}
 {$ENDIF FPC}
 {$IFDEF DELPHIXE7_UP}
 {$IFDEF DELPHIXE7_UP}
   Temp := StringReplace(TNetEncoding.base64.EncodeBytesToString(TempHolder),
   Temp := StringReplace(TNetEncoding.base64.EncodeBytesToString(TempHolder),