Windows XP 中 使用 CryptoApi 解密成功, 但解密出来的数据是错误的

Terark-CTO-雷鹏 Terark-CTO-雷鹏 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Windows XP 中 使用 CryptoApi 解密成功,但解密出来的数据是错误的。
使用的算法是 DES 和 RC4,解密时调用的每个 Api 都检查了返回值,都是正常返回。
什么原因,同一个程序,在绝大部分机器上都是正确的,
但在个别(约1%)的机器上解密出来的数据是错误的。
有哪位大侠知道原因?

程序如下:

HCRYPTKEY hKey = 0;
HCRYPTHASH hHash = 0;
DWORD errCode = NO_ERROR;
DWORD dwCount = nLength;
DWORD dwKeyLength;
const BYTE* pKeyData = GetDecryptKey(&dwKeyLength);
LPCSTR pErrMsg = 0;

if (0 == pErrMsg && !CryptCreateHash(m_hProv, CALG_SHA, 0, 0, &hHash))
pErrMsg = _VT("Error when CreateHash");

if (0 == pErrMsg && !CryptHashData(hHash, (BYTE*)pKeyData, dwKeyLength, 0))
pErrMsg = _VT("Error when HashData");

if (0 == pErrMsg && !CryptDeriveKey(m_hProv, m_algDecrypt, hHash, 0, &hKey))
pErrMsg = _VT("Error when DeriveKey from hash");

if (0 == pErrMsg && !CryptDecrypt(hKey, 0, FALSE, 0, (PBYTE)pBuffer, &dwCount))
pErrMsg = _VT("Error when Decrypt");

if (!hKey) CryptDestroyKey(hKey);
if (!hHash) CryptDestroyHash(hHash);

if (pErrMsg)
{
ErrMessageBox(vGetLastError(), pErrMsg);
Exit(-4);
}

return TRUE;
...全文

相关推荐

易语言源码易语言修改Access数据库密码例程源码

易语言源码易语言修改Access数据库密码例程源码

codemami

易语言源码simixp1.0

易语言源码simixp1.0

codemami

VC6+MFC实现RSA密钥生成与加解密的完整可运行工程

这是一个在Visual C++ 6.0环境下可直接编译、运行和调试的MFC桌面程序,完整封装了RSA非对称加密的核心流程。工程包含三个核心功能模块:GenRsaKey负责生成1024位RSA密钥对并导出公私钥;KeyOperation提供密钥导入、导出、删除及格式转换(如PEM/DER)等管理操作;CSPtest调用Windows Crypto API(wincrypt.h)完成实际的数据加密(使用公钥)和解密(使用私钥),支持任意长度明文的分块处理与错误反馈。所有.cpp和.h文件均含详细中文注释,覆盖C

失眠邮局

70、Windows文件系统:NTFS坏簇恢复与EFS加密安全解析

本文深入解析Windows NTFS文件系统的坏簇恢复机制与EFS加密文件系统的安全架构。详细阐述NTFS在不同磁盘环境下的坏扇区处理策略,对比容错与非容错卷的数据恢复流程,并通过mermaid流程图直观展示。同时,全面介绍EFS的加密原理,包括FEK生成、公私钥加密、密钥环构建、组件协作机制及首次加密文件的完整过程,涵盖从用户操作到内核模式执行的技术细节,确保数据安全性与系统可靠性。

小风微灵·cat

Python自动化处理加密Office文档:msoffcrypto-tool原理与实战

在数据自动化处理与安全分析领域,加密文档的解密与解析是常见的技术需求。加密技术通过算法对数据进行编码转换,确保信息在存储和传输过程中的机密性。其核心原理涉及对称加密(如AES、RC4)与非对称加密体系,通过密钥派生与验证机制实现安全访问控制。这项技术的工程价值在于打通了自动化脚本与受保护企业文档之间的数据通道,使得批量处理、数据分析与安全检测成为可能。典型应用场景包括自动化报表处理流水线、恶意文档安全分析以及遗留加密文档的批量解密迁移。本文聚焦于Python生态中的msoffcrypto-tool库,该工具

dingshikan0537
评论
收藏 已收藏
分享
返回顶部
Terark-CTO-雷鹏
Terark-CTO-雷鹏 领域专家: C/C++技术领域 领域专家: C/C++技术领域
Windows Server 6,873 成员 177,927 内容