2013-03-28 46 views
2

我在WINDOWS中搜索調用sha-1函數的快速方法c。
我試過openssl,但是我發現沒有當前windows下載的靜態庫文件(libcrypto.lib),從源代碼編譯對我來說沒有快捷選項。sha-1在windows中的實現c

在網站http://www.packetizer.com/security/sha1/我發現了一個C實現SHA-1(保羅·瓊斯)的。

它只有一個C文件(sha1.c)與370行的代碼和一個頭文件,因此它似乎很容易包括到我的源代碼。

關於此實現,我有以下問題:

1)的源代碼FPL下版權(免費公共許可證)。 我看了http://opensource.org/licenses/alphabetical免費軟件公共許可證,但我沒有找到它。

源許可文件說:

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

而已,沒有SHA-1散列內置,看到http://msdn.microsoft.com/en-us/library /windows/desktop/aa379908(v=vs.85).aspx – SirDarius

+1

請注意,SHA-1是(理論上)壞了,如果你要爲一個新的實現,我們建議你去SHA-2。 –

回答

2

1)

由於它看起來像你可以把它列入你的程序是肯定的。許可證沒有提到修改代碼的任何內容,所以你應該避免這樣做(但是看到它是一個密碼學的東西,無論如何這都是很好的建議)。

2)不知道