Php 如何对密文进行十六进制编码

Php 如何对密文进行十六进制编码,php,encryption,openssl,private-key,non-ascii-characters,Php,Encryption,Openssl,Private Key,Non Ascii Characters,我对PHP中的函数openssl_private_encrypt()有一个问题。 在编码之前,我已经使用OpenSSL生成了有效的私钥。 基于php.net中的一个论坛线程,我有以下代码: $fp = fopen("D:\\myprivatekey.pem", "r"); $priv_key = fread($fp, 8192); fclose($fp); $res = openssl_get_privatekey($priv_key, 'mypassphrase'); openssl_priv

我对PHP中的函数openssl_private_encrypt()有一个问题。 在编码之前,我已经使用OpenSSL生成了有效的私钥。 基于php.net中的一个论坛线程,我有以下代码:

$fp = fopen("D:\\myprivatekey.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$res = openssl_get_privatekey($priv_key, 'mypassphrase');
openssl_private_encrypt('plaintext', $crypttext, $res);
echo "String crypted: $crypttext";
我已将文件libeay32.dll和ssleay32.dll从C:\xampp\php复制到C:\xampp\apache\bin 结果充满了不可读的字符,如:

字符串加密:^«GÖ213; aRØØc®™拉丁美洲1-c;三·······™¾7[qom…ójR*nÇNx«RÈkW2»9L«RÈZ&222;»rAO»j+«RÌ5ÔW

如何获得类似于ASCII字符串MD5(但长度超过32)的输出,例如: 87f0ea083c7a03bb89aec910

我认为不可读的字符可以转换为字节数组,然后将其转换为字符串,但在PHP中如何实现这一点呢


谢谢。

问题已解决。只需使用函数bin2hex()


谢谢stackoverflow,当我输入问题时,它显示了另一个与建议类似的线程,太棒了!!

是的,我意识到了,谢谢。我已经回答了我自己的问题。如果你自己发现了一个傻瓜,请不要发布问题。