Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert einfach SSL-Verschlüsselungs-, Entschlüsselungs-, Verifizierungs- und Signaturmethoden

PHP implementiert einfach SSL-Verschlüsselungs-, Entschlüsselungs-, Verifizierungs- und Signaturmethoden

墨辰丷
墨辰丷Original
2018-06-05 16:12:121801Durchsuche

In diesem Artikel wird hauptsächlich die einfache Implementierung der SSL-Verschlüsselung, -Entschlüsselung, -Verifizierung und -Signatur in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Signatur:

function sign($data) {
 //读取私钥文件
 $priKey = file_get_contents('key/rsa_private_key.pem');
 
 //转换为openssl密钥,必须是没有经过pkcs8转换的私钥
 $res = openssl_get_privatekey($priKey);
 
 //调用openssl内置签名方法,生成签名$sign
 openssl_sign($data, $sign, $res);
 
 //释放资源
 openssl_free_key($res);
 
 return $sign;
}

Überprüfung:

function verify($data, $sign) {
 //读取支付宝公钥文件
 $pubKey = file_get_contents('key/alipay_public_key.pem');
 
 //转换为openssl格式密钥
 $res = openssl_get_publickey($pubKey);
 
 //调用openssl内置方法验签,返回bool值
 $result = (bool)openssl_verify($data, $sign, $res);
  
 //释放资源
 openssl_free_key($res);
 
 return $result;

Entschlüsselung

function decrypt($content) {
 
 //读取商户私钥
 $priKey = file_get_contents('key/rsa_private_key.pem');
  
 //转换为openssl密钥,必须是没有经过pkcs8转换的私钥
 $res = openssl_get_privatekey($priKey);
 
 //声明明文字符串变量
 $result = '';
 
 //循环按照128位解密
 for($i = 0; $i < strlen($content)/128; $i++ ) {
  $data = substr($content, $i * 128, 128);
   
 //拆分开长度为128的字符串片段通过私钥进行解密,返回$decrypt解析后的明文
  openssl_private_decrypt($data, $decrypt, $res);
 
 //明文片段拼接
  $result .= $decrypt;
 }
 
 //释放资源
 openssl_free_key($res);
 
 //返回明文
 return $result;
}

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

PHP implementiert den Export stilisierter Excel-Instanzfreigabe

PHP implementiert eine Methode zum Erzwingen des angegebenen Rückruftyps basierend auf Callable

Zwei Methoden zum Konvertieren der PHP-Array-Kodierung gbk und utf8 ineinander und voneinander teilen

Das obige ist der detaillierte Inhalt vonPHP implementiert einfach SSL-Verschlüsselungs-, Entschlüsselungs-, Verifizierungs- und Signaturmethoden. 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