问题标签 [crypto++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 C++ 中执行 WHIRLPOOL 哈希
这听起来像是一个相对简单的问题,但我无法让 Crypto++ 工作。我正在使用 Microsoft Visual C++ 2010 Express(我很便宜)并且库中包含的 .vcxproj/.vcproj/.sln 文件根本不起作用。还有很多文件,我只是不确定我到底需要什么。
那么有人知道我可以直接加入的解决方案吗?参考实现很好,只要它们不是非常低效或什么的。很抱歉问了这么一个平凡的问题,但我环顾四周,找不到任何我需要的东西——我想密码学不是我的专业领域。
尽管如此,如果有人知道我如何让 VC++ 2010 加载项目文件,那么让 Crypto++ 工作会很好。该错误非常......不是描述性的。它只是说无法加载项目并给我 -2147483647 作为错误号。
编辑:这是转换报告错误:
XML 解析过程中出现以下错误:文件:C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj 行:102 列:5 错误消息:系统错误:-2147154677。文件“C:\Users\Kyle\Desktop\Exoterra\Dependencies\crypto\cryptlib.vcproj”加载失败。
这是 cryptlib.vcproj 的第 102 行:
编辑(再次):我让它工作。我删除了项目文件中所有涉及 x64 的内容,现在它可以正确转换。不管怎么说,还是要谢谢你。
c++ - 使用某些库分发程序(源文件)
我写了一个使用 Cryptopp 库的程序。我已经创建了静态库并将其包含在我的发行版中,但该程序还需要很多头文件。我的问题是我需要在我的发行版中包含所有这些头文件吗?
例如,我编写了一个使用 的代码des.h
,modes.h
而filters.h
该代码又基于 Cryptopp 中的其他头文件,这是一个长链。我是否包含 Cryptopp 库中的所有头文件?
让它更通用,如果我编写一些使用其他库(如 Cryptopp 或 boost)的代码,我需要在发行版中包含什么?
更新:我想分发源代码,而不仅仅是二进制文件。这样用户可以根据需要从头开始编译我的程序。我包括静态库,但对头文件感到困惑。我需要把它们都包括进去吗?
c++ - 在 Crypto++ 中加载 PEM 编码的私有 RSA 密钥
通常,用户将拥有 PEM 编码的 RSA 私钥。Crypto++ 要求这些密钥为 DER 格式才能加载。我一直在要求人们事先使用 openssl 手动将他们的 PEM 文件转换为 DER,如下所示:
这很好用,但有些人不明白如何做到这一点,也不想这样做。所以我想在程序中自动将 PEM 文件转换为 DER 文件。
是像从 PEM 中剥离“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”一样简单,还是还需要其他一些转换?有人告诉我,在这些标记之间,它只是 b64 编码的 DER。这是一些演示该问题的代码:
我想避免对 openssl 进行系统调用并完全在 Crypto++ 中进行转换,以便用户可以提供任何一种格式和“正常工作”的东西。感谢您的任何建议。
rsa - 使用 Crypto++ 进行 RAW RSA 加密和解密
我需要在 PC 和支持 RSA 加密和使用 SHA1 签名的设备之间建立安全通信。因为我已经在我的应用程序的其他部分使用了 Crypto++,所以我也想使用 Crypto++。
该设备非常原始,但允许执行我在其上编写的程序。它内置了原始的 RSA 和 SHAa 函数;但是,它可以使用的内存非常少,准确地说是 2K 字节。
我必须对来自 PC 的消息进行加密和签名。然后设备解密并验证消息。然后设备将回复一条加密消息并在其上签名。PC 将解密该消息并随后对其进行验证。我已经使用内置函数在设备内部使用 SHA1 实现了原始 RSA 加密、签名和验证。消息足够短,可以在一轮中完成。
但是,我不知道如何使用 Crypto++ 在不涉及 OAEP 或 PKCS#1 的情况下使用原始 RSA 加密消息。有人可以向我展示一些示例代码吗?万分感谢!
crypto++ - 从内存中加载 RSA PKCS#1 私钥?
我必须编写一个程序来与 USB 设备建立安全通信。我必须使用它生成的私钥,它以 PKCS#1 格式存储。由于我在程序的一部分中使用了 Crypto++,因此我也想将它用于此目的。
但是,我找不到从内存中导入 RSA 私钥的方法。它只接受 PKCS#8 格式的私钥。一些专业人士可以向我展示如何做到这一点的示例代码吗?非常感谢!
c++ - 开始使用 Crypto++
我不知道在这里问这个问题是否正确。
我正在尝试在项目中使用 Crypto++ 库。我什至无法开始使用它。这是我正在尝试的代码:
我尝试阅读下载包中包含的自述文件。我试过这个,但仍然没有设法让它工作。我正在使用VS2010。
android - 通过 NDK 在 Android 项目中包含 Crypto++ 库
我正在尝试在 Android NDK 项目中包含 Crypto++ (http://www.cryptopp.com/)。我希望能够从我的代码的 C++ 部分调用 Crypto++ 成员函数。我以为我可以在我的 C++ 代码中包含来自 Crypto++ 的标头和源代码,但我似乎无法让它工作。
我的 C++ 文件如下所示:
在 cryptopp 子目录中包含所有 Crypto++ 头文件和源文件。
最初我收到许多编译错误,因为没有找到标准 C++ 库,但我通过添加 Application.mk 并添加以下行来解决这个问题:
使用 ndk-build 编译(标准版本和水晶版本)给我以下错误:
我以前从未在 NDK 项目中包含外部库 - 也许我只是忽略了一些基本的东西。
c++ - Crypto++ 无法解释的崩溃
我需要在我的项目中使用密码学(visual c++ 2008 sp1,带有几个 dll 的 exe,使用一些第三方库)。我选择了 Crypto++ 库。我将它用作静态库。首先,我在测试控制台应用程序中测试了我需要的所有功能,一切正常。
然后我开始将这个功能集成到项目中。
它在许多 Crypto++ 函数调用上崩溃,包括像这样非常简单的函数调用:
在调用这行代码期间,应用程序崩溃:
这是我的调用堆栈:
我的项目和 Crypto++ 都使用多线程 DLL 运行时库。
我尝试将 Crypto++ 项目选项更改为与我的项目选项相同,但这没有帮助(在某些更改后应用程序因另一个调用堆栈而崩溃)。
任何想法将不胜感激!
c++ - 我可以使用 Crypto++ 解密 aes-cbc-essiv:sha256 吗(文件由 linux dm-crypt 加密)
是否有人必须使用 Crypto++ 使用由 linux dm-crypt 加密的 aes-cbc-essiv:sha256 解密文件?我尝试使用以下代码解密文件。但这是不正确的。有没有人有过经验?你能帮助我吗?非常感谢。
cryptography - 安全 StringSinks
所以似乎在 Crypto++ 中使用算法的常用方法是使用StringSinks
,它是通过传递对 a 的引用来启动的std::string
。
std::string
但是如果你因为安全问题不想使用怎么办?是否可以将数据放入类似的东西中SecByteBlock
,或者我是否必须创建自己的接收器类,以重新增长的安全缓冲区字符串类为目标?