개발자 Q&A

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

2025.05.27 04:14

hash_hmac 함수의 사용법에 대한 질문

목록
  • 리팩토링광 1일 전 2025.05.27 04:14
  • 4
    1
PHP에서 hash_hmac 함수를 사용하여 데이터의 무결성을 검증하려고 합니다. 그러나 hash_hmac 함수의 두 번째 인자인 key를 어떻게 설정해야 하는지 모르겠습니다. 예를 들어, key는 문자열로만 사용해야 하나요? 아니면 다른 타입의 데이터도 사용할 수 있나요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    hash_hmac 함수의 두 번째 인자인 key는 문자열이 아니어도 사용할 수 있습니다. key는 문자열, 배열, 객체 등 다양한 타입의 데이터가 될 수 있습니다. 그러나 key는 문자열로 변환되어야 하므로, 문자열이 아닌 타입의 데이터가 들어오면 문자열로 변환됩니다.

    예를 들어, 다음 코드는 문자열, 배열, 객체를 사용하는 예입니다.

    #hostingforum.kr
    php
    
    $key = 'my_secret_key';
    
    $data = 'Hello, World!';
    
    
    
    $hmac = hash_hmac('sha256', $data, $key);
    
    echo $hmac . "n";
    
    
    
    $key = ['my', 'secret', 'key'];
    
    $hmac = hash_hmac('sha256', $data, $key);
    
    echo $hmac . "n";
    
    
    
    $obj = (object)['my', 'secret', 'key'];
    
    $hmac = hash_hmac('sha256', $data, $obj);
    
    echo $hmac . "n";
    
    


    key를 설정할 때는 주의할 점이 있습니다. key는 데이터의 무결성을 검증하는 데 사용되므로, key가 변경되면 무결성 검증이 실패하게 됩니다. 따라서 key는 보안에 취약한 데이터나 임의의 데이터로 설정하지 마세요. 대신, 고유의 키를 설정하거나, 키를 암호화하여 보안에 취약하지 않도록 하세요.

    2025-05-27 04:15

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

검색

게시물 검색