Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn PHP MD5 und JS inkonsistent sind?

Was soll ich tun, wenn PHP MD5 und JS inkonsistent sind?

藏色散人
藏色散人Original
2022-01-20 09:27:322777Durchsuche

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.

Was soll ich tun, wenn PHP MD5 und JS inkonsistent sind?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn