파일의 암호화 해시를 분출하는 크로스 플랫폼/휴대용 프로그램을 찾고 있습니다.

파일의 암호화 해시를 분출하는 크로스 플랫폼/휴대용 프로그램을 찾고 있습니다.

나는 MD5, SHA 등과 같은 암호화 해시뿐만 아니라 전달된 파일/파일 목록의 CRC32를 생성하는 Windows 및 Linux(예: ANSI C 등)에서 이식 가능한 소스여야 하는 프로그램을 찾고 있습니다.

나는 이 실행 파일을 테라바이트 단위의 파일에서 실행하여 SHA, MD5 및 CRC32(향후에는 더 많은 서명) 서명을 생성할 예정이므로 속도가 빨라집니다.중요하다.

내가 염두에 두었던 것은 바로 ReHash가 무엇인지였습니다.다시 만들다,다시 만들다.

불행하게도 많은 사용자들이 해시 구현에 오류가 있고 패딩(블록 기반 알고리즘의 경우)이 구현되는 방식에 오류가 있다고 불평하는 것을 보았습니다.

암호화 전문가가 아니고 일부 코드를 컴파일할 필요 없이 내가 원하는 해시를 간단히 제공하는 블랙박스 솔루션을 찾고 있는데 더 좋은 것이 없는지 궁금합니다.

물론 암호화 모듈을 사용하여 내가 원하는 것을 생성하는 글루 프로그램을 Python으로 작성할 수도 있지만 C와 같은 언어에서 컴파일된 바이너리를 선호했을 것입니다.

나는 이 실행 파일을 테라바이트 단위의 파일에서 실행하고 SHA, MD5 및 CRC32(향후 더 많은 기능) 서명을 생성하고 이 모든 것을 Python 코드에서 처리할 것이므로 Python과 호환되는 것이 선호되지만 C를 희생하지는 않습니다. 속도처럼.

답변1

Python 암호화 작업은 기본 코드(C에서 컴파일)로 구현됩니다. Python 프로그램에서 값을 원하므로 이를 사용하는 것이 더 간단할 것입니다.

Linux에는 체크섬 계산을 위한 유틸리티( cksum, md5sum, sha1sum, ...)가 함께 제공됩니다. 대부분의 다른 유니스도 마찬가지입니다. GNU 유틸리티에는 여러 가지 Windows 포트가 있습니다(Linux에서 사용 가능).시그윈,그누윈32,엠시스, ... SHA-256 및 SHA-512를 얻으려면 최신 유틸리티가 필요합니다.

다양한 암호화 알고리즘에 대한 매우 자유로운 라이센스가 있는 여러 ANSI C 구현이 있으며 종종 단일 배포판으로 수집되지 않습니다. 이를 검색하고 작은 입력으로 테스트하여 신뢰성을 확인할 수 있습니다.

Windows에서는 체크섬이 라인 스트림이 아닌 바이트 스트림을 통해 정의되므로 파일을 원하는 대로 바이너리 또는 텍스트로 올바르게 처리하고 있는지 확인하십시오. (일반적으로 파일을 바이너리 모드로 열고 싶지만 Windows 줄 끝으로 트랜스코딩된 텍스트 파일이 있는 경우 효과를 반전시키려면 해당 파일을 텍스트로 열어야 합니다.) 모든 OS에서 다음을 확인하세요. 파일을 열 때 인코딩 변환을 수행하지 않습니다.

속도는 매우 중요하므로 찾을 수 있는 모든 구현을 수집하고 중간 크기 입력(몇 메가바이트)에서 벤치마킹하세요. 다양한 구현은 다양한 아키텍처에서 더 나은 속도를 제공할 수 있습니다. 64비트 구현은 실행할 수 있는 경우 더 빠를 가능성이 높습니다.

답변2

OpenSSL에는 해시를 계산하는 도구가 있습니다. 시그윈(http://www.cygwin.com/) 프로젝트에는 openssl 도구가 있습니다. Cygwin 계층으로 인해 순수 Windows 앱보다 약간 느리기는 하지만 해시 생성을 스크립팅할 수 있는 환경도 제공됩니다.

관련 정보