会话密钥 - MSDN - Microsoft
Session Keys - MSDN - Microsoft
我正在开发一个应用程序,该应用程序通过使用CryptEncrypt()
加密文件并使用会话密钥来保护文件,来自文档我找不到它在谈论什么会话.这是否意味着如果其他人将我的加密文件带到另一台机器(或在同一台机器上但不同的用户)即使他有密码也无法解密?
任何人都可以帮我澄清他的观点吗?
提前感谢您的时间。
这是否意味着如果其他人将我的加密文件带到另一个 机器(或在同一台机器上但不同的用户)无法解密 连他都有密码?
不
通常通过生成与密码短语匹配的哈希来生成加密和解密的会话密钥:
// Hash in the password data.
if(!CryptHashData( m_hHash, (BYTE *) m_strPassphrase.c_str(), (DWORD) m_strPassphrase.length(), 0))
{
// ...
}
// Derive a session key from the hash object.
if(!CryptDeriveKey( m_hCryptProv, ENCRYPT_ALGORITHM, m_hHash, KEYLENGTH, &m_hKey))
{
//...
}
m_hKey
现在可用于加密/解密。
CryptEncrypt( m_hKey, NULL, bEOF, 0, m_pBlockBuffer, &dwCount, m_dwBufferLen)
或。。
CryptDecrypt( m_hKey, 0, bEOF, 0, m_pBlockBuffer, &dwCount)
相关文章:
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 带有 CKKS 的 Microsoft 密封中的矢量点积
- 如何添加预防措施以绕过未注册Microsoft.ACE.OLEDB.12.0?
- 与其他编译器相比,相同的代码在工作室Microsoft提供不同的输出
- 使用 Outlook 2016 Microsoft Store 连接到 Outlook COM
- 如何在 SEAL 3.1 中使用 CRT 批处理技术Microsoft?
- 使用 CMake,Microsoft MPI 和 Visual Studio 2017 找不到 mpi.h
- 如何在视觉c ++项目中添加箭头键作为修饰键Microsoft
- 为什么Microsoft在新代码中使用结构而不是类?
- Microsoft C++ 用于图形 API 的 Rest SDK
- Microsoft ODBC 无法创建有效的句柄
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- 使用IMFSourceReader(Microsoft媒体基金会)进行音频流传输
- C++ VS 错误:<实验/文件系统>提供 std::experimental::文件系统的标头已被Microsoft弃用,将被删除
- 寻求提高Microsoft密封库计算效率的方法
- Microsoft Visual Studio 2019交叉编译CMake库 - 有效,但存在SEG错误
- 当PSO细粒度策略对使用AdsGetObject MSDN API的Windows操作系统生效时,如何获取用户密码到期日
- Microsoft NTLM (v2) 中的时间戳使用
- C++正则表达式失败(GCC vs Microsoft 编译器)
- 会话密钥 - MSDN - Microsoft