资源简介
java rsa 公钥分段加密代码转php代码,php采用OPENSSL_NO_PADDING 模式填充ascii0加解密
代码片段和文件信息
package com.asiainfo.openplatform.common.util;
import java.io.ByteArrayOutputStream;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
import javax.crypto.Cipher;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
/**
* RSA加密工具类
*
* Copyright: Copyright (c) 2011 Asiainfo
*
* @ClassName: TransferSoapReqHelper.java
* @Description: 该类的功能描述
*
* @version: v1.0.0
* @author: zhangmeng3
* @date: 2014-9-17 上午10:38:45
*
*/
public class RSAUtils {
/**
* 加密算法RSA
*/
public static final String KEY_ALGORITHM = “RSA“;
/**
* 签名算法
*/
public static final String SIGNATURE_ALGORITHM = “MD5withRSA“;
/**
* 获取公钥的key
*/
private static final String PUBLIC_KEY = “RSAPublicKey“;
/**
* 获取私钥的key
*/
private static final String PRIVATE_KEY = “RSAPrivateKey“;
/**
* RSA最大加密明文大小
*/
private static final int MAX_ENCRYPT_BLOCK = 64;
/**
* RSA最大解密密文大小
*/
private static final int MAX_DECRYPT_BLOCK = 75;
/**
* RSA密钥长度
*/
private static final int INITIAL_KEY_SIZE = 600;
/**
*
* 生成密钥对(公钥和私钥)
*
*
* @return
* @throws Exception
*/
public static Mapject> genKeyPair() throws Exception {
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM new BouncyCastleProvider());
keyPairGen.initialize(INITIAL_KEY_SIZE);
KeyPair keyPair = keyPairGen.generateKeyPair();
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
Mapject> keyMap = new HashMapject>(2);
keyMap.put(PUBLIC_KEY publicKey);
keyMap.put(PRIVATE_KEY privateKey);
return keyMap;
}
/**
*
* 用私钥对信息生成数字签名
*
*
* @param data 已加密数据
* @param privateKey 私钥(base64编码)
*
* @return
* @throws Exception
*/
public static String sign(byte[] data String privateKey) throws Exception {
byte[] keyBytes = base64Utils.decode(privateKey);
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
PrivateKey privateK = keyFactory.generatePrivate(pkcs8KeySpec);
S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11790 2020-04-11 17:17 RSAUtils.java
文件 1343 2020-04-11 17:27 rsa.php
----------- --------- ---------- ----- ----
13133 2
- 上一篇:JAVA实习报告 java
- 下一篇:基于CS模式的聊天室大二java课设
相关资源
- php与java互通rsa加密解密
- android iOS php des 互通加密解密算法
- php与安卓交互代码实现
- tomcat支持php项目必须的jar包
- 个人免签支付即时到账网站源码易语
- RSA加解密算法java源代码
- PHP缩写的cmpp2.0协议改造
- js与php利用FormData相互传值
- php调用java写的webservice
- 连接android和php+mysql(wamp)数据库
- java、php、net等平台的免费打印控件,
-
sc
ript-api.jarphp-servlet.jarphp-sc ript. - 聚合直播盒子H5网页源码
- Zend Studio 13.0.0破解补丁+注册码
-
sc
ript-api.jar,php-servlet.jarphp-sc ri - java毕业设计_PHP毕业设计近500套参考视
- 分享ThinkPHP5.0微信小程序商城构建全栈
- Java实现RSA加解密工具类Demo
- Delphi(delphi7-XE)标准RSA加密解密签名
- 企业微信会话内容存档php扩展.zip
- 微信支付demo(php和java版)
- php导航网站源码(含天气预报功能)
- app版本升级 源码(服务器端是php开发
- 微信JSAPI支付(官方)-php版本
- 前台JS和后台Java对应的RSA加解密
- android录音上传到php服务器,上传使用
- 晚餐预定系统——Web Service大作业
- lampLinux+Apache+Mysql+Perl/PHP/Python论文
- chrome浏览器调试php使用xdebug
- 将PHP/Java Bridge的JavaBridge.jar、php-serv
评论
共有 条评论