用 openssl_decrypt 在 PHP 中解密 des
Decrypt des with openssl_decrypt in PHP
正在尝试使用此代码解密单个 des 加密数据:
$keyValue ='0123456789abcdef'; //hex value
$encryptedOrderId = '88C10F0B8C084E5F'; //hex value
$binaryEncrypted = hex2bin($encryptedOrderId);
$decodeValueByOnlineTool = '2020202039353538'; // this is hex
$opensslDecrypt = openssl_decrypt( $encryptedOrderId ,'DES-ECB', $keyValue, OPENSSL_RAW_DATA , '' );
var_dump($opensslDecrypt);
输出为假。我不知道我做错了什么。
我的工具的输出如下:
您的输入是十六进制的。 openssl_decrypt
需要二进制。在传递给 openssl_decrypt
.
之前,在每个输入上使用 hex2bin
openssl_decrypt(hex2bin($encryptedOrderId), 'DES-ECB', hex2bin($keyValue), ...
记得将结果转换回十六进制以获得您想要的结果。确保您已根据屏幕截图设置 OPENSSL_ZERO_PADDING
。
编辑:我使用的确切代码...
$keyValue ='0123456789abcdef'; //hex value
$encryptedOrderId = '88C10F0B8C084E5F'; //hex value
$binaryEncrypted = hex2bin($encryptedOrderId);
$decodeValueByOnlineTool = '2020202039353538'; // this is hex
$opensslDecrypt = openssl_decrypt( $binaryEncrypted ,'des-ecb', hex2bin($keyValue), OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING , '');
var_dump($opensslDecrypt);
正在尝试使用此代码解密单个 des 加密数据:
$keyValue ='0123456789abcdef'; //hex value
$encryptedOrderId = '88C10F0B8C084E5F'; //hex value
$binaryEncrypted = hex2bin($encryptedOrderId);
$decodeValueByOnlineTool = '2020202039353538'; // this is hex
$opensslDecrypt = openssl_decrypt( $encryptedOrderId ,'DES-ECB', $keyValue, OPENSSL_RAW_DATA , '' );
var_dump($opensslDecrypt);
输出为假。我不知道我做错了什么。
我的工具的输出如下:
您的输入是十六进制的。 openssl_decrypt
需要二进制。在传递给 openssl_decrypt
.
hex2bin
openssl_decrypt(hex2bin($encryptedOrderId), 'DES-ECB', hex2bin($keyValue), ...
记得将结果转换回十六进制以获得您想要的结果。确保您已根据屏幕截图设置 OPENSSL_ZERO_PADDING
。
编辑:我使用的确切代码...
$keyValue ='0123456789abcdef'; //hex value
$encryptedOrderId = '88C10F0B8C084E5F'; //hex value
$binaryEncrypted = hex2bin($encryptedOrderId);
$decodeValueByOnlineTool = '2020202039353538'; // this is hex
$opensslDecrypt = openssl_decrypt( $binaryEncrypted ,'des-ecb', hex2bin($keyValue), OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING , '');
var_dump($opensslDecrypt);