Python SHA512与PHP的加密

Python SHA512与PHP的加密,php,python,encryption,sha512,Php,Python,Encryption,Sha512,这是我第一次尝试处理python代码。我的客户最近给了我一个python代码: python -c 'import crypt; print crypt.crypt("Pa55w0rd!", "$6$x88yEvVg")' 在上面的代码中,用于加密密码的 密码是Pa55w0rd并且盐值为x88yevvvg。我可以用PHP执行上面的代码吗?我尝试过这样做: echo exec(`python -c "import crypt;print crypt.crypt('Pa55w0rd!', '\$6

这是我第一次尝试处理python代码。我的客户最近给了我一个python代码:

python -c 'import crypt; print crypt.crypt("Pa55w0rd!", "$6$x88yEvVg")'
在上面的代码中,用于加密密码的

密码是Pa55w0rd并且盐值为x88yevvvg。我可以用PHP执行上面的代码吗?我尝试过这样做:

echo exec(`python -c "import crypt;print crypt.crypt('Pa55w0rd!', '\$6\$x88yEvVg\')"`);

谢谢。

您确实需要使用python加密吗?根据您的PHP版本,您可以对PHP>=5.3执行以下操作:

openssl_digest("Pa55w0rd!"."$6$x88yEvVg", "sha512");
对于PHP5.2或5.1

hash("sha512", "Pa55w0rd!"."$6$x88yEvVg");
这假设您的salt值刚刚与密码值连接。

使用或

例如:

$password = 'Pa55w0rd!';
$salt = '$6$x88yEvVg';
$handle = popen('python -c \'import crypt; print crypt.crypt("' . $password . '", "' . $salt . '")\'', 'r');
$text = fread($handle, 100);
echo $text;
pclose($handle);

谢谢你的回答。你的代码确实有效。如何替换“Pa55w0rd!”&”x88yEvVg'带有变量?@NewPHP,我更新了示例代码。(使用字符串操作)。如果密码/salt字符串包含引号(
),则可能必须转义。