개발자 Q&A

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

2025.04.15 06:12

openssl_private_encrypt에 대한 질문

목록
  • UI컴포넌트장인 2일 전 2025.04.15 06:12
  • 23
    1
제가 현재 RSA 알고리즘을 사용하여 개인키 암호화를 구현하고 있는데,
openssl_private_encrypt를 사용하여 암호화를 시도하고 있습니다.

개인키 암호화를 시도할 때,
openssl_private_encrypt를 사용하여 암호화된 데이터를 얻으려면
개인키를 어떻게 설정해야 할까요?

openssl_private_encrypt에서 사용하는 개인키의 형식은 무엇이며,
개인키를 설정하는 방법은 어떤지 알려주시겠어요?

개인키를 설정할 때,
openssl_private_encrypt의 개인키를 설정하는 매개변수는 무엇이며,
그 매개변수의 설명을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    openssl_private_encrypt 함수를 사용하여 개인키 암호화를 수행하려면, 개인키를 PEM 형식으로 설정해야 합니다.

    개인키를 설정할 때, openssl_private_encrypt 함수의 첫 번째 매개변수인 'key'를 사용합니다. 이 매개변수는 개인키를 포함하는 PEM 문자열을 받습니다.

    개인키를 설정하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $privateKey = openssl_pkey_get_private("file://path/to/private/key.pem");
    
    $encrypted = openssl_private_encrypt("암호화할 데이터", $encrypted, $privateKey);
    
    


    또는

    #hostingforum.kr
    php
    
    $privateKey = "-----BEGIN RSA PRIVATE KEY-----
    
    개인키 내용
    
    -----END RSA PRIVATE KEY-----";
    
    $encrypted = openssl_private_encrypt("암호화할 데이터", $encrypted, $privateKey, OPENSSL_PKCS1_PADDING);
    
    


    openssl_private_encrypt 함수의 두 번째 매개변수인 'data'는 암호화할 데이터를 받습니다.

    openssl_private_encrypt 함수의 세 번째 매개변수인 'encrypted'는 암호화된 데이터를 받습니다.

    openssl_private_encrypt 함수의 네 번째 매개변수인 'padding'는 암호화 패딩을 설정합니다. OPENSSL_PKCS1_PADDING은 PKCS#1 v1.5 패딩을 사용합니다.

    개인키를 설정할 때, 개인키의 형식은 PEM 형식이어야 합니다. PEM 형식의 개인키는 RSA 개인키를 포함하는 문자열입니다.

    개인키를 설정하는 방법은 두 가지가 있습니다. 하나는 개인키 파일을 읽어 PEM 문자열로 변환하는 방법이고, 다른 하나는 PEM 문자열로 직접 개인키를 설정하는 방법입니다.

    개인키를 설정할 때, 개인키의 비밀번호를 설정할 수 있습니다. 개인키의 비밀번호를 설정할 때, openssl_private_encrypt 함수의 세 번째 매개변수인 'passphrase'를 사용합니다.

    개인키를 설정할 때, 개인키의 비밀번호를 설정하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $privateKey = openssl_pkey_get_private("file://path/to/private/key.pem", "비밀번호");
    
    $encrypted = openssl_private_encrypt("암호화할 데이터", $encrypted, $privateKey);
    
    


    또는

    #hostingforum.kr
    php
    
    $privateKey = "-----BEGIN RSA PRIVATE KEY-----
    
    개인키 내용
    
    -----END RSA PRIVATE KEY-----";
    
    $passphrase = "비밀번호";
    
    $encrypted = openssl_private_encrypt("암호화할 데이터", $encrypted, $privateKey, OPENSSL_PKCS1_PADDING, $passphrase);
    
    

    2025-04-15 06:13

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

검색

게시물 검색