Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
他们有没有在delphi中使用Winapi.Security.Cryptography.pas的例子?_Delphi_Winapi - Fatal编程技术网

他们有没有在delphi中使用Winapi.Security.Cryptography.pas的例子?

他们有没有在delphi中使用Winapi.Security.Cryptography.pas的例子?,delphi,winapi,Delphi,Winapi,我在Delphi源代码中找到了单元Winapi.Security.Cryptography,但没有找到任何关于如何使用它的示例。特别是我想在这个单元中使用SHA-256做一个RSA签名,但我不知道从哪里开始 例如,鉴于该声明: { // Used Types: Windows.Security.Cryptography.Core.IAsymmetricKeyAlgorithmProvider // Used Types: String } // Windows.Secur

我在Delphi源代码中找到了单元
Winapi.Security.Cryptography
,但没有找到任何关于如何使用它的示例。特别是我想在这个单元中使用SHA-256做一个RSA签名,但我不知道从哪里开始

例如,鉴于该声明:

  {
  // Used Types:  Windows.Security.Cryptography.Core.IAsymmetricKeyAlgorithmProvider
  // Used Types:  String
  }
  // Windows.Security.Cryptography.Core.IAsymmetricKeyAlgorithmProviderStatics
  [WinRTClassNameAttribute(SCore_AsymmetricKeyAlgorithmProvider)]
  Core_IAsymmetricKeyAlgorithmProviderStatics = interface(IInspectable)
  ['{425BDE18-A7F3-47A6-A8D2-C48D6033A65C}']
    function OpenAlgorithm(algorithm: HSTRING): Core_IAsymmetricKeyAlgorithmProvider; safecall;
  end;

如何在Delphi中使用它?

我将从这里开始,这里有一些例子,说明如何在C#中执行特定任务,但它们似乎并不难翻译。在Winapi.Security.Cryptography中寻找实现接口的类。它们具有用于访问该功能的类属性和函数。您不需要任何特殊的东西。WinRT引用的是API名称,而不是Windows RT版本(这是一个死鸭子)。但是你需要Windows10来运行这些API。例如,您可以调用
TCore\u AsymmetricKeyAlgorithmProvider.OpenAlgorithm(TCore\u asymetrichGorithmNames.EcdsaSha256)
,它将返回特定算法的提供程序接口……首先对数据进行散列,并用于对散列进行签名。您可以参考。建议使用CryptoSignHash而不是CryptoSignHash,因为此API已被弃用。Windows运行时是在Windows 8中引入的,但此特定API仅在Windows 10上可用。我将从这里开始介绍一些如何在C#中执行特定任务的示例,但它们似乎并不难翻译。在Winapi.Security.Cryptography中寻找实现接口的类。它们具有用于访问该功能的类属性和函数。您不需要任何特殊的东西。WinRT引用的是API名称,而不是Windows RT版本(这是一个死鸭子)。但是你需要Windows10来运行这些API。例如,您可以调用
TCore\u AsymmetricKeyAlgorithmProvider.OpenAlgorithm(TCore\u asymetrichGorithmNames.EcdsaSha256)
,它将返回特定算法的提供程序接口……首先对数据进行散列,并用于对散列进行签名。您可以参考。建议使用而不是CryptSignHash,因为此API已弃用。Windows运行时是在Windows 8中引入的,但此特定API仅在Windows 10上可用。