PHP を使用して電子署名および契約管理機能を実装する方法
はじめに:
デジタル時代において、従来の紙の契約書はもはや要件を満たすことができません。スピード、安全性、利便性のニーズ。電子署名と契約管理機能は、この問題を効果的に解決できます。この記事では、PHP 言語を使用して電子署名と契約管理機能を実装する方法を紹介し、読者がすぐに使い始めるのに役立つコード例を使用します。
1. 電子署名機能の実装
$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);
上記のコードでは、まず署名テキストと画像の幅と高さを設定します。次に、True Color イメージ オブジェクトを作成し、背景色とテキストの色を設定します。 imagefill
メソッドを使用して背景色を塗りつぶし、imagettftext
メソッドを使用して画像に署名テキストを書き込みます。最後に、imagepng
メソッドを使用して署名画像を指定されたパスに保存し、imagedestroy
メソッドを使用して画像オブジェクトを破棄します。
$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
メソッドを使用して署名データをデコードします。次に、openssl_verify
メソッドを使用してデータを検証します。検証が成功した場合、戻り値は 1 になり、そうでない場合は 0 になります。最後に、openssl_free_key
メソッドを使用して公開キー リソースを解放します。
2.契約書管理機能の実装
$templateId = $_POST['template_id']; $contractTitle = $_POST['title']; $content = $_POST['content']; // 将合同数据保存到数据库或其他存储方式 echo "Contract created successfully!";
上記のコードでは、選択した契約テンプレート ID、契約タイトル、契約内容などの情報を $_POST
を通じて取得できます。次に、契約データをデータベースまたはその他の保存方法に保存し、作成が成功したことを示すプロンプト メッセージを返します。
$contractId = $_GET['contract_id']; $signature = $_FILES['signature']; // 验证签署人身份和签名 // 将签署信息保存到数据库或其他存储方式 echo "Contract signed successfully!";
上記のコードでは、まず $_GET
を通じてアップロードする契約 ID と署名ファイルを取得します。次に、署名者の身元と署名が検証され、検証に合格すると、署名情報がデータベースまたはその他の保存方法に保存され、署名が成功したことを示すプロンプト メッセージが返されます。
$contractId = $_GET['contract_id']; // 从数据库或其他存储方式中查询合同信息 // 输出合同信息 echo "Contract details:";
上記のコードでは、契約 ID は $_GET
を通じて取得されます。次に、契約の詳細がデータベースまたは他の保存方法からクエリされ、ページに出力されます。
結論:
この記事の導入部を通じて、読者は PHP を使用して電子署名および契約管理機能を実装する方法を理解できます。電子署名機能は主に署名画像の生成と署名の検証を行い、契約管理機能は主に契約書の作成、契約締結、契約照会などの処理を行います。読者の皆様が、この記事のガイダンスを通じて、電子署名と契約管理機能をすぐに導入し、業務効率とセキュリティを向上できることを願っています。
以上がPHPを使用して電子署名と契約管理機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。