c - windows c 中的 sha-1 实现

标签 c licensing sha1

我正在寻找一种在 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/

相关文章:

php - APC 与自定义 Mmap 扩展

java - truelicense 在哪里保存许可证文件

c# - 将程序锁定到它运行的第一台计算机?

android - 如何让 google map 和 facebook 为发布 apk 工作

java - 计算目录的 SHA-1

objective-c - 缺少此练习的附加逻辑

c - 函数参数中的数组名称的处理方式是否与本地声明的数组不同(自动)

sha1 - 如何在对象树上创建 SHA1 摘要?

c - Linux/POSIX 等同于 Win32 的 CreateEvent、SetEvent、WaitForSingleObject

licensing - 如何为 MediaWiki 站点创建许可证?