Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert SSL-Verschlüsselung, Entschlüsselung, Verifizierung und Signatur

PHP implementiert SSL-Verschlüsselung, Entschlüsselung, Verifizierung und Signatur

墨辰丷
墨辰丷Original
2018-05-18 11:46:352535Durchsuche

Dieser Artikel stellt hauptsächlich die Methode von PHP zur Implementierung der SSL-Verschlüsselung, -Entschlüsselung, -Verifizierung und -Signatur vor. Er analysiert die Signatur, Verschlüsselung, Entschlüsselung, Verifizierung und andere Betriebstechniken von PHP anhand von Beispielen kann darauf verweisen

Die Details sind wie folgt:

1. Signaturcode unterschreiben:

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;
}

2 Bestätigungscode:

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;
}

3. Entschlüsselungscode

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;
}

Verwandte Empfehlungen:

Zusammenstellung von OpenSSL-Verschlüsselungsproblemen in PHP_php-Tipps

Detaillierte Erklärung, wie PHP die OpenSSL-Verschlüsselung verwendet und Entschlüsselungsbeispiele

Zusammenfassung zur Verwendung der OpenSSL-Verschlüsselungserweiterung von PHP (empfohlen)

Das obige ist der detaillierte Inhalt vonPHP implementiert SSL-Verschlüsselung, Entschlüsselung, Verifizierung und Signatur. 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