现在位置: 首页  >  编程技术  >  Java
国密sm2加密解密
0 1700

工作中要用到国密sm2加密解密,php不能很好的实现,最终利用java做成接口服务调用。

附件:sm2.rar

默认端口:8636。


/**
* sm2加密
* @param $data
* @param $pubKey
*/
function sm2_encrypt($data,$pubKey,$url='http://127.0.0.1:8636'){
   if (is_array($data)){
       $data=json_encode($data);
   }
   $params=[
       'plainText'=>$data,
       'publicKey'=>$pubKey
   ];
   $ret=curlPost($url.'/public/api/sm2Encrypt',$params);
   $ret=json_decode($ret,true);
   if (!is_array($ret) || $ret['msg']!='success' || $ret['data']==''){
       return false;
   }else{
       return $ret['data'];
   }
}


/**
* sm2解密
* @param $data
* @param $pubKey
*/
function sm2_decrypt($data,$priKey,$url='http://127.0.0.1:8636'){
   $params=[
       'cipherText'=>$data,
       'privateKey'=>$priKey
   ];
   $ret=curlPost($url.'/public/api/sm2Decrypt',$params);
   $ret=json_decode($ret,true);
   if (!is_array($ret) || $ret['msg']!='success' || $ret['data']==''){
       return false;
   }else{
       return $ret['data'];
   }
}


 评论
 站内搜索