2013-03-28 2 views
2

Windows에서 sha-1 함수를 호출하는 빠른 방법을 찾으십시오. c.
openssl을 시도했지만, 현재 libcrypto.lib 파일을 다운로드 할 정적 윈도우가 없다는 것을 알았습니다. 소스에서 컴파일하는 것은 빠른 옵션이 아닙니다.Windows에서 sha-1 구현

웹 사이트 http://www.packetizer.com/security/sha1/ 나는 sha-1 (Paul E. Jones)의 c 구현을 발견했습니다.

370 줄의 코드와 하나의 헤더 파일을 가진 단 하나의 c 파일 (sha1.c)이므로 내 소스 코드에 포함하기가 매우 쉽습니다.

나는 다음과 같은 질문이이 구현에 관하여 :

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 또는 아파치 라이선스와 같은 허용 것 같다. 이게 맞습니까? 또는 GPL 또는 LGPL과 유사한 라이선스입니까?

2) 누군가 신뢰할 수있는 구현인지 알고 있습니까? 당신이 네 프로그램에 포함 할 수있는 것처럼

감사합니다 많이 미리

+2

저에게 BSD-ish 라이센스처럼 읽습니다. 만약 당신이 정말로 걱정된다면, 변호사와상의하는 것이 정답 일 것입니다. – Earlz

+1

Windows 만하고 싶다면, 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) 알 수 없음