Die Inkonsistenz zwischen PHP MD5 und JS wird durch die Codierung verursacht. Die Lösung besteht darin, das Chinesische in PHP und JS direkt in Zeichen umzuwandeln.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Was tun, wenn PHP MD5 und JS inkonsistent sind?
Chinesisch Einfache Lösung für die Inkonsistenz zwischen PHP MD5 und js md5
Chinesischer Status Als nächstes sind MD5 von PHP und MD5 von JS inkonsistent, hauptsächlich aufgrund der Kodierung. Ich werde hier nicht auf die Konvertierung der Kodierung eingehen. Dies kann durch die direkte Konvertierung der chinesischen Zeichen gelöst werden von php und js in Zeichen:
MD5 unter php:
md5(rawurlencode('中文 内容'));
md5 unter js:
md5.hex_md5(encodeURIComponent('中文 内容'));
Hinweis: Wenn PHP transkodiert, können Sie keinen URL-Code verwenden, aber die encodeURIComponent von js wird dies tun zu inkonsistenten Ergebnissen führen, wenn die Parameter Leerzeichen enthalten. Zweitens transkodiert PHPs Rawurlencode Leerzeichen genau wie js.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP MD5 und JS inkonsistent sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!