浏览代码

Update UPCCryptoLib4Pascal.pas

Direct SHA256 and RIPEMD160 call instead of use TDigestUtilites
PascalCoin 6 年之前
父节点
当前提交
60d52ca420
共有 1 个文件被更改,包括 15 次插入2 次删除
  1. 15 2
      src/core/UPCCryptoLib4Pascal.pas

+ 15 - 2
src/core/UPCCryptoLib4Pascal.pas

@@ -145,6 +145,7 @@ Uses
   ClpECKeyPairGenerator,
   //
   HlpSHA2_256,
+  HlpRIPEMD160,
   //
   UAccounts,
   UConst,
@@ -381,13 +382,25 @@ begin
 end;
 
 class procedure TPCCryptoLib4Pascal.DoRIPEMD160(const AInput: TBytes; var AOutput: TBytes);
+Var Lrmd160 : TRIPEMD160;
 begin
-  AOutput := TDigestUtilities.CalculateDigest('RIPEMD160', AInput);
+  Lrmd160 := TRIPEMD160.Create;
+  try
+    AOutput := Lrmd160.ComputeBytes(AInput).GetBytes;
+  finally
+    Lrmd160.Free;
+  end;
 end;
 
 class procedure TPCCryptoLib4Pascal.DoSHA256(const AInput: TBytes; var AOutput: TBytes);
+var Lsha : TSHA2_256;
 begin
-  AOutput := TDigestUtilities.CalculateDigest('SHA-256', AInput);
+  Lsha := TSHA2_256.Create;
+  try
+    AOutput := Lsha.ComputeBytes(AInput).GetBytes;
+  finally
+    Lsha.Free;
+  end;
 end;
 
 class function TPCCryptoLib4Pascal.EVP_GetKeyIV(const APasswordBytes,