라이브러리

[PHP] openssl_sign - 서명 생성




PHP에서 openssl_sign에 대한 설명


PHP의 `openssl_sign` 함수는 데이터를 암호화하고 서명하는 데 사용되는 OpenSSL 라이브러리의 함수입니다. 이 함수는 데이터를 암호화하고, 그 데이터에 서명(인증)을 추가하여 데이터의 무결성을 확인할 수 있도록 합니다.

openssl_sign 함수의 사용법


`openssl_sign` 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

string openssl_sign ( string $data , string &$signature , string $key [, int $hash_algorithm [, int $raw_data ]] )



- `data`: 암호화하고 서명할 데이터입니다.
- `signature`: 서명된 데이터가 저장되는 변수입니다.
- `key`: 암호화 및 서명에 사용할 키입니다.
- `hash_algorithm`: 사용할 해시 알고리즘입니다. 기본값은 `SHA1`입니다.
- `raw_data`: 서명된 데이터를 원본 데이터와 함께 반환할지 여부를 결정합니다. 기본값은 `false`입니다.

예제


다음 예제는 `openssl_sign` 함수를 사용하여 데이터를 암호화하고 서명하는 방법을 보여줍니다.

#hostingforum.kr
php

// 암호화 및 서명에 사용할 키를 생성합니다.

$private_key = openssl_pkey_new();

openssl_pkey_export($private_key, $private_key_passphrase);



// 데이터를 암호화하고 서명합니다.

$data = "Hello, World!";

openssl_sign($data, $signature, $private_key_passphrase, OPENSSL_ALGO_SHA256);



// 서명된 데이터를 출력합니다.

echo "서명된 데이터: $data
";

echo "서명: $signature
";



// 암호화 및 서명에 사용한 키를 삭제합니다.

openssl_free_key($private_key);



해시 알고리즘


`openssl_sign` 함수는 다양한 해시 알고리즘을 지원합니다. 다음은 지원하는 해시 알고리즘의 목록입니다.

- `OPENSSL_ALGO_MD2`
- `OPENSSL_ALGO_MD5`
- `OPENSSL_ALGO_SHA1`
- `OPENSSL_ALGO_SHA224`
- `OPENSSL_ALGO_SHA256`
- `OPENSSL_ALGO_SHA384`
- `OPENSSL_ALGO_SHA512`

참고


- `openssl_sign` 함수는 데이터를 암호화하고 서명하는 데 사용됩니다. 데이터를 암호화하는 것은 데이터를 암호화하는 데 사용되는 알고리즘과 키에 따라 다를 수 있습니다.
- `openssl_sign` 함수는 데이터의 무결성을 확인할 수 있도록 데이터에 서명(인증)을 추가합니다.
- `openssl_sign` 함수는 다양한 해시 알고리즘을 지원합니다. 사용할 해시 알고리즘을 선택할 때, 데이터의 크기와 성능을 고려해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색