资源简介
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课设
相关资源
- 去掉代码注释的工具java \\ c\\c++、ph
- PHP头像上传预览剪切组件 v2.11.rar
- 课堂考勤系统PHP+MYSQL+android
- 360独家防注入跨站脚本攻击漏洞补丁
- 支付宝RSA加解密工具
- Java、.Net、PHP、Ruby优劣势概览
- 表白墙Java源码
- 基于PHP的精品课程网站设计与开发_曾
- libdmtx库 pydmtx Libdmtx php_dmtx
- Android PHP JSON 实现登陆注册功能
- PDFlib-6.0.2-Windows库以及java c++开发
- Android和PHP开发最佳实践》源码.rar
- 三种版本的在线图片裁剪基于UCenter
- 安卓仿微博客户端源码&php;后端源码
- Android图书管理系统源码
- Android安卓在线订餐外卖APP+后端接口
- 微信支付3.3.7demo java+php
- 基于thinkphp3.2.3微信授权登录及分享至
- 准确率99.9%的ip地址定位库
- RSA加解密源码及测试代码完整java工程
- 自我感觉完美的“Android客户端+PHP服务
- Android 和php交互上传图片文件功能
- 使用JSON连接Android和PHP 源码
- android请求php数据通过json交互demo
- Android应用源码安卓拍照上传实现代码
- android 通过WampServer集成环境通过php+
- php+mysql+smarty 招商加盟多模板留言系统
- 国内优秀框架ThinkPHP1.5.0新版+最新官方
-
Android选择拍照剪裁ba
se64.16进制.by - 韬龙社区团购系统 v1.2.zip
评论
共有 条评论