我尝试使用js进行客户端加密,使用php进行服务器端解密,只进行了几个小时的调试,发现即使他们使用相同的加密方法,他们也无法匹配,无论大小等等
有许多可用的加密js库,不推荐使用php中的crypt(),mcrypt和函数。
我尝试寻找一对(例如AES.js和AES.php),但没有一个成功
您能建议使用哪种好的加密方法吗?如何实现它们。因为我相信有一把钥匙或其他东西,我也听说过静脉注射,我甚至都不知道。
jQuery(使用简单的sha256)
git log
我想尝试在php中解密它,但不推荐使用mcrypt_decrypt。有这个openssl,我不知道如何使用。
答案 0 :(得分:-1)
您可以尝试使用此代码在PHP中解密
$Pass = "Passwort";
$Clear = "Klartext";
$crypted = fnEncrypt($Clear, $Pass);
echo "Encrypred: ".$crypted."</br>";
$newClear = fnDecrypt($crypted, $Pass);
echo "Decrypred: ".$newClear."</br>";
function fnEncrypt($sValue, $sSecretKey)
{
return rtrim(
base64_encode(
mcrypt_encrypt(
MCRYPT_RIJNDAEL_256,
$sSecretKey, $sValue,
MCRYPT_MODE_ECB,
mcrypt_create_iv(
mcrypt_get_iv_size(
MCRYPT_RIJNDAEL_256,
MCRYPT_MODE_ECB
),
MCRYPT_RAND)
)
), "\0"
);
}
function fnDecrypt($sValue, $sSecretKey)
{
return rtrim(
mcrypt_decrypt(
MCRYPT_RIJNDAEL_256,
$sSecretKey,
base64_decode($sValue),
MCRYPT_MODE_ECB,
mcrypt_create_iv(
mcrypt_get_iv_size(
MCRYPT_RIJNDAEL_256,
MCRYPT_MODE_ECB
),
MCRYPT_RAND
)
), "\0"
);
}
我没有检查过,但你可以试试。