mcrypt_encrypt():此算法不支持大小爲10的密鑰。只支持尺寸16,24或32的鑰匙!mcrypt_encrypt():密鑰的大小爲
http://i.stack.imgur.com/qE1ZD.png
我怎麼能解決這個問題?
mcrypt_encrypt():此算法不支持大小爲10的密鑰。只支持尺寸16,24或32的鑰匙!mcrypt_encrypt():密鑰的大小爲
http://i.stack.imgur.com/qE1ZD.png
我怎麼能解決這個問題?
曾經是如果你的密鑰太短,PHP會用\ 0填充它。自PHP 5.6.0以來,這已不再是這種情況。您應該檢查使用的密碼所需的密鑰的大小:http://php.net/manual/en/function.mcrypt-get-key-size.php請注意,還有其他方法可以檢查密鑰大小,請檢查文檔。簡單的方法我理解密鑰大小:ASCII中的'fubar'字符串是5 * 8 = 40個字節(每個字符8個字節)。但是這是對使用字符集的假設。在php.net的一些意見更好地解釋如何推出正確大小的密鑰:
$ key = pack('H *',「bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3」);
在這裏,64字符的字符串將被轉換成32個字節的密鑰,因爲BC是一個字節,b0爲另一個,等等。從http://php.net/manual/en/function.mcrypt-encrypt.php
可以仔細檢查的字節數用的strlen()。從上面的例子strlen($ key)將打印出32個。
顯然,提供一個長度爲16,24或32的密鑰...... –
@MarcB你可以舉個例子,我找不到任何地方:( –
沒人幫助在這個網站:(大家都知道一切... –