Php 提交前如何加密表单数据?

Php 提交前如何加密表单数据?,php,forms,encryption,openssl,submit,Php,Forms,Encryption,Openssl,Submit,我需要先加密一些输入字段,然后再将数据发送到我的php脚本,该脚本将启动到另一个网站的cURL登录 我开始生成一对密钥,加密/解密工作正常 <?php // data to encrypt $data = "TestPassword"; // ==== ENCRYPT ==== $pubKey = openssl_pkey_get_public('file://public.pem'); openssl_public_encrypt($data, $en, $pubKey); ec

我需要先加密一些输入字段,然后再将数据发送到我的php脚本,该脚本将启动到另一个网站的cURL登录

我开始生成一对密钥,加密/解密工作正常

<?php

// data to encrypt
$data = "TestPassword";

// ==== ENCRYPT ====

$pubKey = openssl_pkey_get_public('file://public.pem');
openssl_public_encrypt($data, $en, $pubKey);

echo $en;

// ==== DECRYPT ====

$passphrase = '123456789987654321';

$privateKey = openssl_pkey_get_private('file://private.pem', $passphrase);
openssl_private_decrypt($en, $sen, $privateKey);

echo $sen;
?>
关于我的问题,我没有发现任何有用的东西!如何构建这个小表单-先加密后解密@decrypt.php

<form action="decrypt.php" method="post">
<input type="text" name="ID" />
<input type="password" name="password" />
<input type="submit" />
</form>
我必须为客户端使用JS吗


非常感谢

您不能在提交数据之前直接对其进行加密-任何加密都需要在公共场所包含私钥,因此无法达到这一点。只要你的网站使用的是https,使用的是有效的最新证书,这应该是你所需要的所有加密。目前我不想花钱购买最新的证书!是否有其他免费的方式将我的表单数据以安全的方式发送到我的脚本?您可以自行签署SSL证书,这会给您加密但不信任-用户必须明确表示他们信任您的站点才能使用它。它可以用于测试,但决不能将自签名证书用于生产/公共用途。您还可以使用CloudFlare获得免费SSL保护:您可以通过以下方式获得由可信CA Geotrust签署的“真实”SSL证书,每年约10.00美元: