Maison > Article > développement back-end > PHP implémente un mhash amélioré
Comment implémenter mhash amélioré en PHP ? Cet article présente principalement la fonction mhash améliorée implémentée dans PHP. Lors de l'utilisation de la fonction mhash par défaut, une erreur est signalée et deux solutions sont trouvées. J'espère que cela aide tout le monde.
Quand j'ai utilisé la fonction de cryptage mhash de php aujourd'hui, une erreur a été signalée : Erreur fatale : Appel à une fonction non définie mhash()
mhash est une fonction intégrée de php mais une erreur a été signalée lors de son utilisation..
Après quelques recherches, nous avons résumé deux méthodes :
1. Importez le fichier d'extension php_mhash.dll De plus, vous devez également importer libmhash.dll (le chargement de. la bibliothèque mhash dépend de ce fichier),
Chargez " LoadFile C:/php/libmhash.dll" dans le fichier de configuration d'Apache Httpd.conf
2, utilisez la fonction d'amélioration mhash personnalisée.
function hmac_md5($key, $data) { if (extension_loaded('mhash')) { return bin2hex(mhash (MHASH_MD5, $data, $key)); } $b = 64; if (strlen($key) > $b) { $key = pack('H*', md5($key)); } $key = str_pad($key, $b, chr(0x00)); $ipad = str_pad('', $b, chr(0x36)); $opad = str_pad('', $b, chr(0x5c)); $k_ipad = $key ^ $ipad; $k_opad = $key ^ $opad; return md5($k_opad . pack('H*', md5($k_ipad . $data))); }
Les paramètres $key et $data dans la fonction hmac_md5 correspondent aux paramètres 3,2 d'origine de mhash
Les deux méthodes peuvent utiliser avec succès la fonction de cryptage mhash de PHP <.>
Recommandations associées :
PHP Comment installer la bibliothèque d'extensions Mhash_PHP tutoriel
Comment faire PHP formhash spécifiquement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!