我正在寻找一种在 WINDOWS c 中调用 sha-1 函数的快速方法。
我尝试了 openssl,但我发现没有当前的 Windows 静态 lib 文件可供下载(libcrypto.lib),从源代码编译对我来说不是一个快速的选择。
在网站上http://www.packetizer.com/security/sha1/我找到了 sha-1 的 C 实现(Paul E. Jones)。
它只有一个 c 文件(sha1.c),有 370 行代码和一个头文件,因此看起来很容易包含到我的源代码中。
关于此实现,我有以下问题:
1) 源代码受 FPL(免费软件公共(public)许可证)版权保护。 我看过http://opensource.org/licenses/alphabetical免费软件公共(public)许可证,但我没有找到它。
源代码中的许可证文件显示:
This software is licensed as "freeware." Permission to distribute
this software in source and binary forms, including incorporation
into other products, is hereby granted without a fee. THIS SOFTWARE
IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHOR SHALL NOT BE HELD
LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, EITHER
DIRECTLY OR INDIRECTLY, INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA
OR DATA BEING RENDERED INACCURATE.
看来这个许可证是像 BSD、MIT 或 Apache 许可证一样宽松的。 这是正确的吗?或者该许可证是否类似于 GPL 或 LGPL?
2)有人知道这是否是一个可靠的实现?
提前非常感谢
最佳答案
1)看起来您可以将其包含在您的程序中,是的。许可证没有提及任何有关修改代码的内容,因此您应该避免这样做(但鉴于这是一个密码学问题,无论如何这都是一个很好的建议)。
2)不知道
关于c - windows c 中的 sha-1 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686064/