我正在用 C++ 构建一个客户端/服务器应用程序,需要每个客户端提供一个密码。显然我希望它在传输过程中是安全的,所以我一直在研究一种加密密码的方法;这样只有服务器应用程序才能再次解密。
我遇到的问题不一定是让函数正常工作,而是理解我需要做什么才能将其关联到代码中。我正在尝试理解并阅读了 MSDN(感觉很喜欢),但我仍然只是在学习,所以真的需要一些关于我的实现的清晰准确的指导。
这听起来对吗?
- 我在服务器和客户端上都获得了 CSP 的上下文。
- 我在服务器上生成一个 key ,或者加载一个(随便)。
然后我
从服务器导出一个公钥发送给客户端,客户端导入 key 然后加密密码返回,这样只有服务器才能再次解密。 (我尝试时失败)。
或者,那我呢
导出 session key ,或使用交换 key 对加密的交换 key 对(单一公开)?
哦,我迷路了,我什至无法解释清楚。
请帮助我理解这个...
最佳答案
这实际上取决于您希望基于哪种身份验证解决方案。选项多种多样。
例如,您可以依赖底层操作系统身份验证。您根本不需要管理密码。但这需要与运行应用程序的域进行更紧密的集成。
另一种选择是使用 HTTPS 和简单例份验证。它基本上使用 SSL 来加密通信,然后发送用户名/密码对。非常简单,所有网络服务器都支持。如果您不想依赖现有的 Web 服务器,例如正在安装的 IIS,您可能很容易找到可以为您处理此问题的 C++ 代码(在 StackOverflow 中搜索此类问题)。
关于c++ - 密码的客户端/服务器加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5906341/