在 mySql 我做, hex(AES_ENCRYPT('mytext','mykeystring'))
。这给了我一个带字符的字符串,而不是一些不可读的东西。
我怎样才能在 php 中做这样的事情?是否有内置函数可以让我这样做?就像 mySql 有 hex
和 aes_encrypt
和一个 password/salt
。
我不是在 php 中寻找精确的 aes 加密。任何返回一串字母和数字并且不容易破解的东西都可以(有盐)
最佳答案
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);
请注意,ECB 块模式不是很好,最好使用 CFB。我的 previous answer 对此进行了更详细的讨论。
关于php - 相当于 MySQL 的 hex(aes_encrypt),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17101746/