SHA-1(Secure Hash Algorithm 1)은 파일, 비밀번호 또는 메시지와 같은 입력을 받아 160비트(20바이트) 해시 값을 생성하는 암호화 해시 함수로, 일반적으로 40자의 16진수 문자열로 표시됩니다.
중요: MD5와 마찬가지로 SHA-1은 진정한 암호화가 아닙니다. 단방향 해싱 함수이므로 해시를 원래 입력으로 쉽게 되돌릴 수 없습니다.
데이터 무결성: 파일이나 메시지가 전송 전후에 SHA-1 해시를 비교하여 변경됩니다.
디지털 서명: SHA-1을 사용했던 이전 디지털 서명 시스템 및 인증서를 지원합니다.
지문: 데이터에 대한 고유한 지문을 생성하여 전체 데이터 세트가 없어도 빠르게 비교할 수 있습니다.
속도: 대량의 데이터를 비교적 빠르게 해싱합니다(하지만 현재는 암호화 용도로는 안전하지 않은 것으로 간주됩니다).
대부분의 프로그래밍 언어에 내장된 암호화 라이브러리를 사용합니다(예: Python의 hashlib.sha1(), Java의 SHA-1을 사용하는 MessageDigest 또는 System.Security.Cryptography.SHA1(C#)).
데이터(텍스트, 파일 내용)를 SHA-1 함수에 입력합니다.
결과 해시 값을 가져와 비교, 체크섬 또는 인덱싱에 사용합니다.
SHA-1이 여전히 필요한 레거시 시스템 또는 이전 API를 사용하는 경우입니다.
사소한 충돌이 허용되는 보안에 중요하지 않은 데이터에 대한 체크섬을 생성하는 경우입니다.
이전 디지털 원래 SHA-1로 생성된 서명입니다.
엄격한 보안보다 호환성이 더 중요한 경우(단, 절대적으로 필요한 경우에만 해당).