php rsa 中文,php中RSA2签名算法的实例分享

RSA2是在原来SHA1WithRSA签名算法的基础上,新增了支持SHA256WithRSA的签名算法。

该算法在摘要算法上比SHA1WithRSA有更强的安全能力。

SHA1WithRSA的签名算法会继续提供支持,但为了您的应用安全,强烈建议使用SHA256WithRSA的签名算法。

RSA类<?php

/**

* Created by PhpStorm.

* User: webff

* Date: 2017/5/12

* Time: 20:03

*/class Rsa2

{

private static $PRIVATE_KEY ="私钥内容";

private static $PUBLIC_KEY ="公钥内容";

/**

* 获取私钥

* @return bool|resource

*/

private static function getPrivateKey()

{

$privKey = self::$PRIVATE_KEY;

return openssl_pkey_get_private($privKey);

}

/**

* 获取公钥

* @return bool|resource

*/

private static function getPublicKey()

{

$publicKey = self::$PUBLIC_KEY;

return openssl_pkey_get_public($publicKey);

} /**

* 创建签名

* @param string $data 数据

* @return null|string

*/

public function createSign($data = '')

{ // var_dump(self::getPrivateKey());die;

if (!is_string($data)) {

return null;

}

return openssl_sign($data, $sign, self::getPrivateKey(),OPENSSL_ALGO_SHA256 ) ? base64_encode($sign) : null;

}

/**

* 验证签名

* @param string $data 数据

* @param string $sign 签名

* @return bool

*/

public function verifySign($data = '', $sign = '')

{

if (!is_string($sign) || !is_string($sign)) {

return false;

}

return (bool)openssl_verify(

$data,

base64_decode($sign),

self::getPublicKey(),

OPENSSL_ALGO_SHA256

);

}

}

PHP调用$rsa2 = new Rsa2();$data = 'mydata'; //待签名字符串

$strSign = $rsa2->createSign($data); //生成签名

$is_ok = $rsa2->verifySign($data, $strSign); //验证签名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值