현재 위치: > 최신 기사 목록> PHP를 사용하여 전자 서명 및 계약 관리 기능을 구현하는 방법

PHP를 사용하여 전자 서명 및 계약 관리 기능을 구현하는 방법

M66 2025-07-08

PHP를 사용하여 전자 서명 및 계약 관리 기능을 구현하는 방법

디지털 시대에 전통적인 종이 계약은 더 이상 속도, 안전 및 편의의 요구를 충족시킬 수 없습니다. 전자 서명 및 계약 관리 기능은이 문제를 제대로 해결하여 비즈니스가 프로세스를 단순화하고 효율성을 높일 수 있도록 도와줍니다. 이 기사는 PHP를 사용하여 이러한 기능을 구현하는 방법을 소개하여 전자 서명 생성, 서명 검증 및 계약 관리 시스템을 점차적으로 실현할 수 있습니다.

전자 서명 기능의 구현

서명 사진을 생성하십시오

PHP에서 GD 라이브러리는 서명 이미지를 쉽게 생성 할 수 있습니다. 다음은 샘플 코드입니다.

 $signatureText = "John Doe";
$imageWidth = 200;
$imageHeight = 100;
$signatureImage = imagecreatetruecolor($imageWidth, $imageHeight);
$backgroundColor = imagecolorallocate($signatureImage, 255, 255, 255);
$textColor = imagecolorallocate($signatureImage, 0, 0, 0);
imagefill($signatureImage, 0, 0, $backgroundColor);
imagettftext($signatureImage, 20, 0, 10, 50, $textColor, "path/to/font.ttf", $signatureText);
imagepng($signatureImage, "path/to/signature.png");
imagedestroy($signatureImage);

위의 코드에서 먼저 서명 텍스트, 이미지 너비 및 높이를 설정 한 다음 진정한 색상 이미지 객체를 작성하고 배경과 텍스트 색상을 설정하십시오. `ImageFill '메소드를 사용하여 배경을 채운 다음`imagetftext'메소드를 통해 서명 된 텍스트를 이미지에 씁니다. 마지막으로 'ImagePng'를 사용하여 이미지를 저장하고 'ImageStroy'를 호출하여 이미지 리소스를 해제하십시오.

서명을 확인하십시오

서명의 진위를 보장하기 위해 공개 및 개인 키를 암호화 및 암호 해독 검증에 사용할 수 있습니다. 다음은 관련 코드 예제입니다.

 $signature = "path/to/signature.png";
$publicKey = "path/to/public_key.pem";
$data = "Some data to sign";
$publicKeyResource = openssl_pkey_get_public(file_get_contents($publicKey));
$signatureData = base64_decode(file_get_contents($signature));
$result = openssl_verify($data, $signatureData, $publicKeyResource);
if ($result == 1) {
    echo "Signature verified!";
} else {
    echo "Signature verification failed!";
}
openssl_free_key($publicKeyResource);

이 코드에서 먼저 서명 이미지 경로, 공개 키 경로 및 확인할 데이터를 지정합니다. `openssl_pkey_get_public`을 통해 공개 키 리소스를 가져 와서`base64_decode`를 사용하여 서명 데이터를 디코딩하십시오. 다음으로`orpenssl_verify`를 사용하여 데이터를 확인하십시오. 반환 값이 1 인 경우 서명이 유효 함을 의미합니다.

계약 관리 기능의 구현

계약 창출

계약 생성에는 일반적으로 계약 템플릿을 선택하고 계약 정보를 작성하는 것이 포함됩니다. 다음은 샘플 코드입니다.

 $templateId = $_POST['template_id'];
$contractTitle = $_POST['title'];
$content = $_POST['content'];
// 계약 데이터 저장 데이터베이스 또는 기타 스토리지 방법에 저장
echo "Contract created successfully!";

이 코드에서`$ _post`를 사용하여 계약 템플릿 ID, 제목, 컨텐츠 및 기타 정보를 얻은 다음 데이터를 데이터베이스에 저장하고 생성 프롬프트를 반환하십시오.

계약 서명

계약의 서명은 먼저 서명자의 신원과 서명이 필요하며, 계약은 확인이 통과 된 후에 만 ​​공식적으로 서명 할 수 있습니다. 다음은 관련 코드 예제입니다.

 $contractId = $_GET['contract_id'];
$signature = $_FILES['signature'];
// 서명자 ID 및 서명을 확인하십시오
// 서명 된 정보를 데이터베이스 또는 기타 스토리지 방법에 저장
echo "Contract signed successfully!";

이 코드에서 먼저`$ _get`을 통해 계약 ID와 업로드 된 서명 파일을 얻습니다. 그런 다음 신원 확인 및 서명 확인을 수행하고 확인이 통과 된 후 서명 정보를 저장하십시오.

계약 문의

계약 쿼리 기능을 통해 서명자 또는 기타 관련 직원이 계약 상태 및 세부 정보를 쿼리 할 수 ​​있습니다. 샘플 코드는 다음과 같습니다.

 $contractId = $_GET['contract_id'];
// 데이터베이스 또는 기타 스토리지 방법의 쿼리 계약 정보
// 출력 계약 정보
echo "Contract details:";

이 코드에서`$ _get`을 사용하여 계약 ID를 얻은 다음 데이터베이스에서 관련 정보를 쿼리하고 표시하십시오.

결론적으로

이 기사를 통해 PHP를 사용하여 전자 서명 및 계약 관리 기능을 구현하는 방법을 배울 수 있습니다. 전자 서명 기능에는 주로 서명 된 이미지의 생성 및 서명 검증이 포함되며 계약 관리 기능에는 계약 생성, 서명 및 쿼리 작업이 포함됩니다. 이러한 기능의 구현은 특히 현대 기업에서 업무 효율성과 보안을 크게 향상시킬 수 있습니다.