Heim >Backend-Entwicklung >PHP-Tutorial >Erstellen Sie eine Signatur aus Hash_hmac() und Sha256 in PHP
In PHP ist es eine gängige Sicherheitspraxis, die Hash_hmac()-Funktion in Kombination mit dem Sha256-Algorithmus zum Erstellen von Signaturen zu verwenden. Diese Methode kann dabei helfen, die Integrität und Authentizität von Daten während der Datenübertragung zu überprüfen und zu verhindern, dass Daten manipuliert oder gefälscht werden. Durch die Kombination von Hash_hmac() und Sha256 kann ein sicherer schlüsselbasierter Hash generiert werden, der eine sichere Übertragung und Verarbeitung von Daten gewährleistet. In diesem Artikel befassen wir uns eingehend mit der Verwendung von Hash_hmac() und Sha256 in PHP zum Erstellen von Signaturen und der Anwendung dieses Ansatzes zur Verbesserung der Datensicherheit.
Wir zeigen Ihnen, wie Sie hash_hmac
和 sha256
加密器来创建安全签名
verwenden, das Sie in einer Datenbank speichern oder in Ihrem Anmeldeformular verwenden können.
hash_hmac()
php
hash_hmac()
创建一个字母数字键控的秘密哈希值。它利用称为 HMAC
Erstellen Sie einen alphanumerisch verschlüsselten geheimen Hash. Es nutzt eine kryptografische Authentifizierungstechnologie namens HMAC
-Methode.
Grammatik:
hash_hmac($alGo, $data, $key, $binary = false);
$algo
是 hash_hmac 参数之一,用作签名秘密键控哈希值 (String
). $data
, ein Hashwert (normalerweise das Passwort des Benutzers). Es kann alphanumerisch sein. $key
是从 HMAC
Methode generiert, das ist der Schlüssel, den Sie von der Funktion erhalten, und andere Programmieranwendungen. $binary
ist ein Binärwert.
Es wirft Kleinbuchstaben-Hex auf TRUE
时返回原始数据,并在 FALSE
.
hash_hmac()
和 sha256
und sha256
Beispiel:
<?php //sha256 is a $algo $PassWord= 'ThisIS123PasswORD' ; //data $secret ="ABCabc"; //$key //false is bool value to check whether the method works or not $hash_it = hash_hmac("sha256", utf8_encode($Password), $secret, false);//all four parameters if(!$hash_it){ //checks true or false echo "Password was not encrypted!"; } echo "Your encrypted signature is:<b> '.$hash_it.' </b>"; ?>
Ausgabe:
Your encrypted signature is: '.46e9757dc98f478c28f035cfa871dbd19b5a2bf8273225191bcca78801304813
hash_hmac()
和 base64_encode()
und base64_encode()
Wenn Sie möchten, dass Ihre kryptografischen Signaturen sicherer sind, können Sie auch den folgenden Codeausschnitt ausführen.
Beispiel:
<?php $my_sign = "abc123"; $key = TRUE; $base64_encode = base64_encode(hash_hmac('sha256', $my_sign, $key, true)); if(!$base64_encode){ echo "Your signature with the base64_decode(hash_hmac()); failed"; } else{ echo "Your base64_decode(hash_hmac()); encrypted signature is is:<b> $base64_encode.' </b>"; } ?>
Ausgabe:
Your base64_decode(hash_hmac()); encrypted signature is is: '.00g0QMQlnluXxijqot60WZf6InDi07b/Mb5lL7eVZ34
hash_hmac()
和 sha256
并应用 hex2bin
/bin2hex
und sha256
in PHP und wenden Sie die hex2bin
/bin2hex
-Transformation an hex2bin()
– Diese Funktion dekodiert eine binäre Zeichenfolge , die hexadezimal kodiert wurde. bin2hex()
- 使用 bin2hex()
Methode konvertiert ASCII-Zeichenfolge in einen Hexadezimalwert. Nehmen wir an, Sie verfügen über wichtige Finanzdaten, die Sie verschlüsseln und einen Schlüssel für den Benutzer erstellen möchten.
Beispiel:
<?php $createhashmackey = "2974924872949278487322348237749823"; $bank_acc = "029480247299262947328749287"; $current_bal = $sum * 10000 / 450; $bank_locker_no = 'AC54-A76X'; $last_deposit= $when; $se = hex2bin($createhashmackey); $create_his_signature = $bank_acc . $current_bal. $bank_locker_no . $last_deposit; $enigma = bin2hex(hash_hmac('sha256', $create_his_signature, $se)); echo "The secret signature is.$enigma.";
Ausgabe:
The secret signature is.33633066323533383537663538323937373536393764396530343661663336666438636435363631383934363864383966316133633433633965343234336233.
Dies ist die Ausgabe für alle Codebeispiele in diesem Artikel.
Das obige ist der detaillierte Inhalt vonErstellen Sie eine Signatur aus Hash_hmac() und Sha256 in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!