【发布时间】:2019-10-16 18:47:06
【问题描述】:
我正在尝试使用 BCrypt 制作简单的加密和解密工作示例,但我无法让它工作,因为我不完全了解如何工作。 来自BCryptEncrypt Function, Microsoft Docs:
NTSTATUS BCryptEncrypt(
BCRYPT_KEY_HANDLE hKey,
PUCHAR pbInput,
ULONG cbInput,
VOID *pPaddingInfo,
PUCHAR pbIV,
ULONG cbIV,
PUCHAR pbOutput,
ULONG cbOutput,
ULONG *pcbResult,
ULONG dwFlags
);
我在8gwifi.org 上生成了一个简单的 512 位密钥对:
string Public_Key = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJSNbUhCkU9RuY99L8kC2WRJ8TBES3WX1u9wYlANvUFU/h7lU8VNOWI8dNGCQ6UbK2ypHFom+Zm4BaG1zokwcUkCAwEAAQ==";
string Private_Key = "MIIBOgIBAAJBAJSNbUhCkU9RuY99L8kC2WRJ8TBES3WX1u9wYlANvUFU/h7lU8VNOWI8dNGCQ6UbK2ypHFom+Zm4BaG1zokwcUkCAwEAAQJAZ9bwZAl8L5jt//o/E+C0+2Cggt/Ka5nG+bpyTok8GNTyaG+Prmz/QCYdI3VuYdONdfAPm3jLwtbK9wTt1E8HAQIhAM8jg1nwjN9+nhPyFo0F+2o8y47mq1kHnCn+gqAdW8MhAiEAt5gQcCqX2Y5KbmMoqtQ+4RIEHQ8HD+fyGqxWUhVpESkCIEtylQJqgvVZCj0bnakqN6Q/lqlrTZg1FGWbZXrqlqThAiEAilt5v94Jc7Ws2AW4Rw0OmfVGzlNd4hnNNVa88r0Z4gkCIGfFy2H8pGxHxg1GKE2mSZAfpRMyjqeq119S3t/bhqY2";
string Encrypt_Me = "Hello World";
老实说,我不明白如何在这种情况下使用此功能,我尝试搜索一个简单的示例但找不到任何示例。
谢谢。
【问题讨论】:
-
为什么你认为 Bcrypt 和 RSA 有什么关系?它没有。也许您可以在 Bcrypt 和 RSA 之前退后一步,告诉我们您要解决什么问题。
-
根据 CNG 文档,我可以使用 BCrypt 使用 RSA 算法进行非对称加密。我正在尝试制作一个简单的示例来学习。我无法取得进展,因为我找不到任何使用 CNG 和明文密钥对的非对称加密示例。
-
啊,我很抱歉,roberto,我现在看到微软的 Bcrypt 不是我所期望的 Bcrypt。没关系
-
没问题!还是谢谢。