欧意交易所资讯

uncategorized
首页 > 欧意交易所资讯 > 正文内容

已弃用的API:重要的CryptDecrypt函数及相关注意事项

qer1232个月前 (04-10)欧意交易所资讯59

重要的是,该API被弃用。新的和现有的软件应开始使用加密的下一代API。此API可以在将来的版本中删除。

功能使用功能来解密先前加密的数据。

对电子邮件互操作性的重要更改,支持安全/多功能邮件扩展(S/MIME),以影响信封邮件的处理。有关更多信息,请参见“注释”部分。

语法

BOOL CryptDecrypt(
  [in]      HCRYPTKEY  hKey,
  [in]      HCRYPTHASH hHash,
  [in]      BOOL       Final,
  [in]      DWORD      dwFlags,
  [in, out] BYTE       *pbData,
  [in, out] DWORD      *pdwDataLen
);

范围

[in] hkey

处理用于解密的钥匙。该应用程序通过使用或函数获取此处理。

该密钥指定要使用的解密算法。

[在]哈什

哈希对象的手柄。如果要同时解密和哈希数据,则在此参数中传递哈希对象的句柄。哈希值使用解密的纯文本进行更新。当同时解密和验证签名时,此选项很有用。

在调用之前,应用程序必须调用该函数以获取哈希对象的句柄。解密完成后,您可以使用该功能获得哈希值,使用该功能签名,或使用该功能验证数字签名。

如果未执行哈希,则此参数必须为零。

[在]决赛中

布尔值指定它是否是被解密的序列中的最后一部分。如果此值是最后一个或唯一的块,则为正确。如果这不是最后一个块,则该值为false。有关更多信息,请参见注释。

[在]

定义了以下标志值。

展开表

价值含义

使用最佳的不对称加密填充(OAEP)(PKCS#1版本2)。此标志仅由具有RSA加密/解密功能的增强加密提供商支持。该徽标不能与徽标结合使用。

在不检查填充的情况下对斑点进行解密。此标志仅由具有RSA加密/解密功能的增强加密提供商支持。该徽标不能与徽标结合使用。

[IN,OUT]

指向包含要解密数据的缓冲区的指针。解密后,纯文本将在同一缓冲液中重新定位。

指定了此缓冲区中加密字节的数量。

[IN,OUT]

指示指示缓冲区长度的dword值的指针。在调用此函数之前,调用应用程序将dword值设置为要解密的字节数。返回后,dword值包含解密纯文本的字节数。

当使用块密码时,此数据长度必须是块大小的倍数,除非这是要解密的数据的最后一部分,则最终参数为true。

返回值

如果函数成功,则该函数将返回非零(true)。

如果功能失败,则返回零(false)。有关扩展错误信息,请致电。

在使用NTE之前的错误代码是由使用的特定CSP生成的。这是一些可能的错误代码。

展开表

价值描述

其中一个参数指定一个无效的手柄。

ter

其中一个参数包含一个无效的值。这通常是无效的指针。

HKEY会话密钥指定了该CSP不支持的算法。

要解密的数据无效。例如,当使用块密码和最终标志false时,指定的值必须是块大小的倍数。当发现填充无效时,也可以返回此错误。

参数为非零。

HHASH参数包含一个无效的手柄。

HKEY参数不包含钥匙的有效句柄。

输出缓冲区太小,无法容纳生成的纯文本。

未找到创建密钥时指定的CSP上下文。

该应用程序试图两次解密相同的数据。

该功能以某种意外的方式失败。

演讲

如果要解密大量数据,则可以通过重复呼叫在节中完成。最终参数必须仅在两对的最后一次呼叫中设置为true,以便解密引擎可以正确完成解密过程。当最终最终成绩最终时,将执行以下其他操作:

如果不将最终参数设置为true,则无法将密码的反馈寄存器设置为键的KP_IV值。如果需要,就像您不想添加其他填充块或更改每个块的大小一样,您可以使用函数来创建原始密钥的副本并将重复键传递到该功能。这会导致原始密钥的kp_iv放置在重复键中。创建或导入原始密钥后,无法加密原始密钥,因为密钥的反馈寄存器将会更改。以下伪代码演示了如何做到这一点。

// Set the IV for the original key. Do not use the original key for 
// encryption or decryption after doing this because the key's 
// feedback register will get modified and you cannot change it.
CryptSetKeyParam(hOriginalKey, KP_IV, newIV)
while(block = NextBlock())
{
    // Create a duplicate of the original key. This causes the 
    // original key's IV to be copied into the duplicate key's 
    // feedback register.
    hDuplicateKey = CryptDuplicateKey(hOriginalKey)
    // Decrypt the block with the duplicate key.
    CryptDecrypt(hDuplicateKey, block)
    // Destroy the duplicate key. Its feedback register has been 
    // modified by the CryptEncrypt function, so it cannot be used
    // again. It will be re-duplicated in the next iteration of the 
    // loop.
    CryptDestroyKey(hDuplicateKey)
}

增强的加密提供商使用RSA公钥支持直接加密,并使用RSA私钥解密。 PKCS#1填充加密。解密时将验证此填充物。要解密的数据密码的文本长度必须与用于解密数据的RSA密钥的模量相同。如果密码文本在最重要的字节中为零,则这些字节必须包含在输入数据缓冲区和输入缓冲区长度中。密码文本必须以 - 格式。

例子

有关使用此功能的示例,请参见示例C程序:解密文件。

要求

展开表

所需值

最低支持的客户

XP [仅桌面应用程序]

支持的最低服务器

2003 [仅桌面应用程序]

目标平台

窗户

标题

.h

图书馆

.lib

dll

.dll

参见

数据加密/解密函数

扫描二维码推送至手机访问。

版权声明:本文由本站发布,如需转载请注明出处。

转载请注明出处https://juxingsy.com/post/2740.html

标签: Crypt
分享给朋友:

相关文章

波场币价格低廉原因解析及投资潜力探讨:为什么波场币这么便宜?

波场币价格低廉原因解析及投资潜力探讨:为什么波场币这么便宜?

文章的开头:Tron Coin作为一种在加密货币市场中具有一定影响的数字货币,与某些主流货币相比,其价格似乎相对便宜。这使人们想知道:为什么Tron硬币的价格如此负担得起?是市场低估还是项目本身中有一...

NFT 背后的真相:数字资产热潮下的稀缺性与唯一性

NFT 背后的真相:数字资产热潮下的稀缺性与唯一性

什么是 NTF? NFT的全称是Non-Token,意为不可替代的代币。与传统数字资产不同,NFT具有唯一性、不可替代性的特点。 火灾原因: 数字化时代的到来:随着数字技术的飞速发展,我们迎来了万物...

NFT 艺术交易平台:开启艺术品收藏新时代,不只是图片那么简单

各位朋友,您们好。今日我们将揭开NFT(非同质化代币)艺术交易平台的神秘面纱,这无疑是当前最热门的话题之一。试想一下,你不但可以拥有一幅艺术作品,更可获得其数字化版权,开启了艺术品收藏的新时代。 NF...

欧意最新版本 APP:安全稳定的数字货币交易平台,2023 年狗屎币前景不容乐观

欧意最新版本 APP:安全稳定的数字货币交易平台,2023 年狗屎币前景不容乐观

欧意最新版本 欧易APP最新版本是一个安全、稳定、可靠的数字货币交易平台。 APP下载官网地址 2023 年狗屎币前景:不容乐观 1、近年来,狗屎币成为虚拟货币市场的新贵,由于名字新鲜有趣,加上社交媒...

ETC 标签失效怎么办?这些使用注意事项及应对方法你必须知道

ETC 标签失效怎么办?这些使用注意事项及应对方法你必须知道

如果您的 ETC 标签过期该怎么办 1、收到新ETC设备后,按一下背面的防篡改按钮,红灯短暂亮起,OLED屏幕显示“标签无效”和“请插卡”,表示设备正常,只需要激活即可使用。 2、如果ETC设备因松...

比特币交易平台有哪些?Coin、Binance 等平台详细介绍

比特币交易平台有哪些? 1. 硬币 Coin是全球领先的数字货币交易所之一,成立于2012年,总部位于美国。Coin提供安全便捷的平台,用户可以通过银行账户、信用卡或借记卡购买、出售和存储比特币。平台...

加入欧意交易所,探索元宇宙世界!

探索DeFi,DApps, NFTs 和GameFi的世界,和OKX一起创造未来!