我在 ubuntu 中使用 apache2 为我的网页创建了保护。 现在我正在用 C++ 创建一个应用程序,我希望它使用 Apache2 用于身份验证的相同文件,但我的问题是我不知道如何解密 apache2 生成的密码。 (也许我需要一个用于加密的密钥)。
.htpasswd 条目是 HASHES。它们不是加密的密码。哈希值被设计为不可解密。因此,没有办法(除非你暴力破解很长一段时间)从 .htpasswd 文件中获取密码。
您需要做的是将相同的哈希算法应用于提供给您的密码,并将其与 .htpasswd 文件中的哈希进行比较。如果用户和哈希值相同,那么就可以了。
特别参见 Apache HTTPd 密码格式