Heim >Backend-Entwicklung >PHP-Problem >Was sind die Hash-Methoden in PHP?
Hash-Methoden in PHP: hash_algos(), hash_copy(), hash_equals(), hash_file(), hash_final(), hash_hkdf(), hash_hmac(), hash_init(), hash() usw.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Hash-Methode in PHP
hash_algos – Gibt die Liste der registrierten Hash-Algorithmen zurück.
hash_algos()
hash_algos () code>
hash_copy – Hash-Operationskontext kopieren
Syntax:hash_copy($context)
hash_algos()
返回值:返回一个数值索引的数组, 包含了受支持的哈希算法名称。
hash_copy()
hash_copy — 拷贝哈希运算上下文
语法:hash_copy($context)
$context:由 hash_init() 函数返回的哈希运算上下文。
返回值:返回哈希运算上下文的一个复本。
hash_equals()
hash_equals — 可防止时序攻击的字符串比较
语法:hash_equals($known_string, $user_string)
$known_string:已知长度的、要参与比较的 string
$user_string:用户提供的字符串
返回值:当两个字符串相等时返回 true,否则返回 false。
hash_file()
hash_file — 给指定文件的内容生成哈希值
语法:hash_file($algo,$filename,$binary = false)
$algo:要使用的哈希算法的名称(例如:"md5","sha256","haval160,4" 等)。 可以在 hash_algos() 中查看当前支持的算法。
$filename:要进行哈希运算的文件位置的 URL ;支持 fopen 封装协议。
$binary:设置为 true 时,输出原始二进制数据。 设置为 false 时,输出小写的十六进制字符串。
返回值:如果 binary 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回十六进制小写字符串格式表示的信息摘要。
hash_final()
hash_final — 结束增量哈希,并且返回摘要结果
语法:hash_final($context,$raw_output = false)
$context:hash_init() 函数返回的哈希运算上下文资源。
$raw_output:设置为 true,输出格式为原始的二进制数据。 设置为 false,输出小写的 16 进制字符串。
返回值:如果 raw_output 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回 16 进制小写字符串格式表示的信息摘要。
hash_init()
hash_init — 初始化增量哈希运算上下文
语法:hash_init($algo,$options = 0, $key = null)
$context: Der von der Funktion hash_init() zurückgegebene Hash-Operationskontext.
Rückgabewert: Gibt eine Kopie des Hash-Operationskontexts zurück.
hash_equals($known_string, $user_string)
hash_file($algo,$filename,$binary = false)
🎜🎜🎜🎜 $algo: Der Name des zu verwendenden Hashing-Algorithmus (zum Beispiel: „md5“, „sha256“, „haval160,4“ usw.). Sie können die aktuell unterstützten Algorithmen in hash_algos() überprüfen. 🎜🎜🎜🎜$Dateiname: URL des Dateispeicherorts, der gehasht werden soll; unterstützt das fopen-Kapselungsprotokoll. 🎜🎜🎜🎜$binary: Wenn auf true gesetzt, werden die ursprünglichen Binärdaten ausgegeben. Bei „false“ wird eine hexadezimale Zeichenfolge in Kleinbuchstaben ausgegeben. 🎜🎜🎜🎜Rückgabewert: Wenn „binary“ auf „true“ gesetzt ist, wird die Informationszusammenfassung zurückgegeben, die durch die ursprünglichen Binärdaten dargestellt wird, andernfalls wird die Informationszusammenfassung zurückgegeben, die durch das hexadezimale Zeichenfolgenformat in Kleinbuchstaben dargestellt wird. 🎜🎜🎜hash_final()🎜🎜🎜hash_final – Beenden Sie den inkrementellen Hash und geben Sie das zusammenfassende Ergebnis zurück🎜🎜Syntax: hash_final($context,$raw_output = false)
🎜🎜🎜🎜$context: hash_init ( ) Die von der Funktion zurückgegebene Hash-Operationskontextressource. 🎜🎜🎜🎜$raw_output: Auf „true“ gesetzt, das Ausgabeformat sind rohe Binärdaten. Auf „false“ setzen, um eine hexadezimale Zeichenfolge in Kleinbuchstaben auszugeben. 🎜🎜🎜🎜🎜Rückgabewert: Wenn raw_output auf true gesetzt ist, wird die Informationszusammenfassung zurückgegeben, die durch die ursprünglichen Binärdaten dargestellt wird, andernfalls wird die Informationszusammenfassung zurückgegeben, die durch das hexadezimale Zeichenfolgenformat in Kleinbuchstaben dargestellt wird. 🎜🎜🎜hash_init()🎜🎜🎜hash_init – Initialisiert den inkrementellen Hash-Operationskontext🎜🎜Syntax: hash_init($algo,$options = 0, $key = null)
🎜🎜🎜🎜$algo : Der Name des zu verwendenden Hash-Algorithmus, zum Beispiel: „md5“, „sha256“, „haval160,4“ usw. Wie Sie eine Liste der unterstützten Algorithmen erhalten, finden Sie unter hash_algos(). 🎜🎜🎜🎜$Optionen: Optionale Einstellungen für Hashing. Derzeit wird nur eine Option unterstützt: HASH_HMAC. Bei der Angabe dieser Option muss der Schlüsselparameter angegeben werden. 🎜🎜🎜🎜🎜$key: Wenn der Optionsparameter HASH_HMAC ist, verwenden Sie diesen Parameter, um den gemeinsamen Schlüssel für das HMAC-Hashing zu übergeben. 🎜🎜Rückgabewert: Gibt das Hash-Operationskontextobjekt zur Verwendung durch die Funktionen hash_update(), hash_update_stream(), hash_update_file() und hash_final() zurück.
. . . .
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas sind die Hash-Methoden in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!