浏览代码

minor refactoring.

Ugochukwu Mmaduekwe 7 年之前
父节点
当前提交
969ee94264

+ 2 - 4
CryptoLib/src/Crypto/Engines/ClpIESEngine.pas

@@ -585,8 +585,7 @@ begin
   if (System.Length(FV) <> 0) then
   begin
     VZ := TArrayUtils.Concatenate(FV, BigZ);
-    System.FillChar(BigZ[0], System.Length(BigZ) * System.SizeOf(Byte),
-      Byte(0));
+    TArrayUtils.Fill(BigZ, 0, System.Length(BigZ), Byte(0));
     BigZ := VZ;
   end;
 
@@ -607,8 +606,7 @@ begin
     end;
 
   finally
-    System.FillChar(BigZ[0], System.Length(BigZ) * System.SizeOf(Byte),
-      Byte(0));
+    TArrayUtils.Fill(BigZ, 0, System.Length(BigZ), Byte(0));
   end;
 end;
 

+ 1 - 2
CryptoLib/src/Crypto/Engines/ClpPascalCoinIESEngine.pas

@@ -344,8 +344,7 @@ begin
     end;
 
   finally
-    System.FillChar(BigZ[0], System.Length(BigZ) * System.SizeOf(Byte),
-      Byte(0));
+    TArrayUtils.Fill(BigZ, 0, System.Length(BigZ), Byte(0));
   end;
 end;
 

+ 8 - 0
CryptoLib/src/Crypto/Parameters/ClpKeyParameter.pas

@@ -24,6 +24,7 @@ interface
 uses
   ClpIKeyParameter,
   ClpICipherParameters,
+  ClpArrayUtils,
   ClpCryptoLibTypes;
 
 resourcestring
@@ -43,6 +44,7 @@ type
     constructor Create(const key: TCryptoLibByteArray); overload;
     constructor Create(const key: TCryptoLibByteArray;
       keyOff, keyLen: Int32); overload;
+    destructor Destroy; override;
     function GetKey(): TCryptoLibByteArray; inline;
 
   end;
@@ -87,6 +89,12 @@ begin
 
 end;
 
+destructor TKeyParameter.Destroy;
+begin
+  TArrayUtils.Fill(Fkey, 0, System.Length(Fkey), Byte(0));
+  inherited Destroy;
+end;
+
 function TKeyParameter.GetKey: TCryptoLibByteArray;
 begin
   result := System.Copy(Fkey);

+ 7 - 0
CryptoLib/src/Crypto/Parameters/ClpParametersWithIV.pas

@@ -46,6 +46,7 @@ type
       const iv: TCryptoLibByteArray); overload;
     constructor Create(const parameters: ICipherParameters;
       const iv: TCryptoLibByteArray; ivOff, ivLen: Int32); overload;
+    destructor Destroy; override;
     function GetIV(): TCryptoLibByteArray; inline;
     property parameters: ICipherParameters read GetParameters;
 
@@ -76,6 +77,12 @@ begin
   Fiv := TArrayUtils.CopyOfRange(iv, ivOff, ivOff + ivLen);
 end;
 
+destructor TParametersWithIV.Destroy;
+begin
+  TArrayUtils.Fill(Fiv, 0, System.Length(Fiv), Byte(0));
+  inherited Destroy;
+end;
+
 function TParametersWithIV.GetIV: TCryptoLibByteArray;
 begin
   result := System.Copy(Fiv);