java Rsa生成签名及公钥、私钥加解密数据

package utils;

import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
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.Base64;

import javax.crypto.Cipher;

public class RsaTool {
    //密钥对临时存储容器,正常情况应该持久化
    private static KeyPair keyPair;
    
    //相同的种子,生成的密钥对是不变的
    private static String seed="37d5aed075525d4fa0fe635231cba447";
    private static final String KEY_ALGORITHM = "RSA";
    private static final String SIGNATURE_ALGORITHM = "MD5withRSA";
    
    public static void signatureVeriry() {
        
        try {
            
            String publicKey = getPublicKey();
            String privateKey = getPrivateKey();
            
            OutputText.showMsg(publicKey, "publicKey");
            OutputText.showMsg(privateKey, "privateKey");
            
            String sign = generateSign(publicKey,privateKey);    
            boolean verifyRes = verifySign(publicKey,sign,publicKey);
            String msg="pass";
            if(!verifyRes) {
                msg="fail";
            }
            OutputText.showMsg(sign, "sign");
            O

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值