相当于MySQL的十六进制(aes_encrypt)

Nor*_*man 3 php mysql

我在mySql中hex(AES_ENCRYPT('mytext','mykeystring')).这给了我一个字符串,而不是一些不可读的东西.

我怎么能在PHP中做这样的事情?是否有内置功能可以让我这样做?就像MySQL已经hexaes_encryptpassword/salt.

我不是在寻找PHP中的精确加密.任何返回一串字母和数字并且不容易破解的东西都会做(有盐)

Ja͢*_*͢ck 5

PHP等价物是:

// MySQL's AES_ENCRYPT uses Rijndael 128 with ECB mode
$enc_text = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_ECB);
// HEX() equivalent
echo bin2hex($enc_text);
Run Code Online (Sandbox Code Playgroud)

请注意,ECB块模式不是很好,最好使用CFB.我之前的回答更详细地讨论了这一点.