라이브러리

[PHP] openssl_get_publickey - openssl_pkey_get_public의 별칭




openssl_get_publickey 함수는 PHP에서 공개 키를 가져올 수 있는 함수입니다. 공개 키는 암호화에 사용되는 키로, 암호화된 데이터를 복호화하는 데 사용됩니다. 이 함수는 OpenSSL 라이브러리를 사용하여 공개 키를 가져옵니다.

사용법


#hostingforum.kr
php

openssl_get_publickey(string $key)



- `$key`: 공개 키를 포함하는 문자열. 이 문자열은 PEM 형식의 공개 키여야 합니다.

예제


# 1. 공개 키를 PEM 형식으로 가져오기


#hostingforum.kr
php

<?php

// 공개 키를 PEM 형식으로 가져옵니다.

$publicKey = openssl_get_publickey('-----BEGIN PUBLIC KEY-----

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy6jYhWwG2x1Zq1fVn9z

...

-----END PUBLIC KEY-----');



// 공개 키가 가져와졌는지 확인합니다.

if ($publicKey === false) {

    echo '공개 키 가져오기 실패';

    exit;

}



// 공개 키를 사용하여 암호화된 데이터를 복호화합니다.

$encryptedData = '암호화된 데이터';

$decryptedData = openssl_decrypt($encryptedData, 'RSA', $publicKey, OPENSSL_RAW_DATA, '');



// 복호화된 데이터를 출력합니다.

echo $decryptedData;

?>



# 2. 공개 키를 DER 형식으로 가져오기


#hostingforum.kr
php

<?php

// 공개 키를 DER 형식으로 가져옵니다.

$publicKey = openssl_get_publickey('-----BEGIN PUBLIC KEY-----

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy6jYhWwG2x1Zq1fVn9z

...

-----END PUBLIC KEY-----');



// 공개 키가 가져와졌는지 확인합니다.

if ($publicKey === false) {

    echo '공개 키 가져오기 실패';

    exit;

}



// 공개 키를 DER 형식으로 변환합니다.

$derPublicKey = openssl_pkey_get_details($publicKey);

$derPublicKey = $derPublicKey['key'];



// 공개 키를 사용하여 암호화된 데이터를 복호화합니다.

$encryptedData = '암호화된 데이터';

$decryptedData = openssl_decrypt($encryptedData, 'RSA', $derPublicKey, OPENSSL_RAW_DATA, '');



// 복호화된 데이터를 출력합니다.

echo $decryptedData;

?>



참고


- 공개 키를 가져올 때는 PEM 형식의 공개 키가 필요합니다. PEM 형식의 공개 키는 `-----BEGIN PUBLIC KEY-----`와 `-----END PUBLIC KEY-----`로 시작하고 끝납니다.
- 공개 키를 가져올 때는 `openssl_get_publickey` 함수를 사용합니다.
- 공개 키를 사용하여 암호화된 데이터를 복호화할 때는 `openssl_decrypt` 함수를 사용합니다.
- 공개 키를 DER 형식으로 가져올 때는 `openssl_pkey_get_details` 함수를 사용하여 공개 키를 DER 형식으로 변환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 350 페이지

검색

게시물 검색