Heim php教程 PHP源码 PHP下SSL加密解密、验证、签名方法(超简单)

PHP下SSL加密解密、验证、签名方法(超简单)

May 25, 2016 pm 05:07 PM

PHP下SSL加密解密、验证、签名方法。 
超级简单。依赖于OpenSSL扩展

签名:

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;
}
Nach dem Login kopieren

验证:

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;
}
Nach dem Login kopieren

解密:

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;
}
Nach dem Login kopieren
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)