개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.30 16:18

SHA1 파일 관련 질문

목록
  • 도커마법사 3일 전 2025.07.30 16:18
  • 9
    1
제가 현재 SHA1 파일을 사용하여 데이터의 무결성을 검증하고자 하는데요.
SHA1 파일을 사용하여 데이터의 무결성을 검증하는 방법에 대해 알려주실 수 있을까요?
또한, SHA1 파일을 생성하고 검증하는 코드 예시를 알려주시면 감사하겠습니다.

SHA1 파일을 사용하여 데이터의 무결성을 검증하는 방법은 무엇인가요?
SHA1 파일을 생성하는 코드는 어떻게 작성해야 하나요?

SHA1 파일을 검증하는 방법에 대해 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  3일 전



    SHA1 파일을 사용하여 데이터의 무결성을 검증하는 방법은 다음과 같습니다.

    1. SHA1 해시 값을 생성하는 알고리즘을 사용하여 데이터의 해시 값을 계산합니다.
    2. 계산한 해시 값을 SHA1 파일에 저장합니다.
    3. 데이터의 무결성을 검증하려면, SHA1 파일에 저장된 해시 값을 다시 계산하여 기존 해시 값과 비교합니다.

    SHA1 파일을 생성하는 코드 예시는 다음과 같습니다.

    - Java

    #hostingforum.kr
    java
    
    import java.security.MessageDigest;
    
    import java.security.NoSuchAlgorithmException;
    
    import java.nio.file.Files;
    
    import java.nio.file.Paths;
    
    
    
    public class SHA1Generator {
    
        public static void main(String[] args) throws Exception {
    
            String filePath = "example.txt";
    
            String sha1Hash = calculateSHA1(filePath);
    
            System.out.println("SHA1 Hash: " + sha1Hash);
    
        }
    
    
    
        public static String calculateSHA1(String filePath) throws Exception {
    
            MessageDigest md = MessageDigest.getInstance("SHA-1");
    
            byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    
            byte[] digest = md.digest(bytes);
    
            return bytesToHex(digest);
    
        }
    
    
    
        public static String bytesToHex(byte[] bytes) {
    
            StringBuilder sb = new StringBuilder();
    
            for (byte b : bytes) {
    
                sb.append(String.format("%02x", b));
    
            }
    
            return sb.toString();
    
        }
    
    }
    
    


    - Python
    #hostingforum.kr
    python
    
    import hashlib
    
    
    
    def calculate_sha1(file_path):
    
        hash_object = hashlib.sha1()
    
        with open(file_path, "rb") as file:
    
            for byte_block in iter(lambda: file.read(4096), b""):
    
                hash_object.update(byte_block)
    
        return hash_object.hexdigest()
    
    
    
    file_path = "example.txt"
    
    sha1_hash = calculate_sha1(file_path)
    
    print("SHA1 Hash:", sha1_hash)
    
    


    SHA1 파일을 검증하는 방법은 다음과 같습니다.

    1. SHA1 파일에 저장된 해시 값을 다시 계산합니다.
    2. 계산한 해시 값을 기존 해시 값과 비교합니다.
    3. 두 해시 값이 일치하면 데이터의 무결성이 검증됩니다.

    SHA1 파일을 검증하는 코드 예시는 다음과 같습니다.

    - Java
    #hostingforum.kr
    java
    
    import java.security.MessageDigest;
    
    import java.security.NoSuchAlgorithmException;
    
    import java.nio.file.Files;
    
    import java.nio.file.Paths;
    
    
    
    public class SHA1Verifier {
    
        public static void main(String[] args) throws Exception {
    
            String filePath = "example.txt";
    
            String sha1Hash = calculateSHA1(filePath);
    
            System.out.println("SHA1 Hash: " + sha1Hash);
    
            boolean isValid = verifySHA1(filePath, sha1Hash);
    
            System.out.println("Is Valid: " + isValid);
    
        }
    
    
    
        public static String calculateSHA1(String filePath) throws Exception {
    
            MessageDigest md = MessageDigest.getInstance("SHA-1");
    
            byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    
            byte[] digest = md.digest(bytes);
    
            return bytesToHex(digest);
    
        }
    
    
    
        public static String bytesToHex(byte[] bytes) {
    
            StringBuilder sb = new StringBuilder();
    
            for (byte b : bytes) {
    
                sb.append(String.format("%02x", b));
    
            }
    
            return sb.toString();
    
        }
    
    
    
        public static boolean verifySHA1(String filePath, String sha1Hash) throws Exception {
    
            String calculatedHash = calculateSHA1(filePath);
    
            return calculatedHash.equals(sha1Hash);
    
        }
    
    }
    
    


    - Python
    #hostingforum.kr
    python
    
    import hashlib
    
    
    
    def calculate_sha1(file_path):
    
        hash_object = hashlib.sha1()
    
        with open(file_path, "rb") as file:
    
            for byte_block in iter(lambda: file.read(4096), b""):
    
                hash_object.update(byte_block)
    
        return hash_object.hexdigest()
    
    
    
    def verify_sha1(file_path, sha1_hash):
    
        calculated_hash = calculate_sha1(file_path)
    
        return calculated_hash == sha1_hash
    
    
    
    file_path = "example.txt"
    
    sha1_hash = calculate_sha1(file_path)
    
    print("SHA1 Hash:", sha1_hash)
    
    is_valid = verify_sha1(file_path, sha1_hash)
    
    print("Is Valid:", is_valid)
    
    

    2025-07-30 16:19

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,921건 / 1 페이지

검색

게시물 검색