JAVA公钥私钥

Java使用RSA的公钥加密,私钥解密;私钥加密,公钥解密 Java使用RSA的公钥加密,私钥解密;私钥加密,公钥解密 package org.system.common.util.RSA; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Compone 阅读详情

package com.gavin.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;

import javax.crypto.Cipher;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;


public class KeyRSA {
 
 private KeyPairGenerator kpg=null;
 private KeyPair kp=null;
 private PublicKey publicKey=null;
 private PrivateKey privateKey=null;
 private FileOutputStream publicFileOut=null;
 private ObjectOutputStream publicObjectOut=null;
 private FileOutputStream privateFileOut=null;
 private ObjectOutputStream privateObjectOut=null;
 
 public KeyRSA(int in,String path)throws NoSuchAlgorithmException,FileNotFoundException,IOException{
  kpg=KeyPairGenerator.getInstance("RSA");
  kpg.initialize(in);
  kp=kpg.generateKeyPair();
  publicKey=kp.getPublic();
  privateKey=kp.getPrivate();
  //save public key
  publicFileOut=new FileOutputStream(path+File.separator+"publicKey.dat");
  publicObjectOut=new ObjectOutputStream(publicFileOut);
  publicObjectOut.writeObject(publicKey);
  //save private key
  privateFileOut=new FileOutputStream(path+File.separator+"privateKey.dat");
  privateObjectOut=new ObjectOutputStream(privateFileOut);
  privateObjectOut.writeObject(privateKey);
  
 }
 
 public static String encrypt(String path,String source) throws Exception{
  Key publicKey=null;
  ObjectInputStream ois=null;
  try {
   ois=new ObjectInputStream(new FileInputStream(path+File.separator+"publicKey.dat"));
   publicKey=(Key)ois.readObject();
  } catch (Exception e) {
   // TODO: handle exception
  } finally {
   ois.close();
  }
  Cipher cipher=Cipher.getInstance("RSA");
  cipher.init(Cipher.ENCRYPT_MODE, publicKey);
  byte[] b=source.getBytes();
  
  byte[] b1=cipher.doFinal(b);
  BASE64Encoder encoder=new BASE64Encoder();
  return encoder.encode(b1);
 }
 
 
 public static String decrypt(String path,String source) throws Exception{
  Key privateKey=null;
  ObjectInputStream ois=null;
  try {
   ois=new ObjectInputStream(new FileInputStream(path+File.separator+"privateKey.dat"));
   privateKey=(Key)ois.readObject();
  } catch (Exception e) {
   // TODO: handle exception
  } finally {
   ois.close();
  }
  Cipher cipher=Cipher.getInstance("RSA");
  cipher.init(Cipher.DECRYPT_MODE, privateKey);
  
  BASE64Decoder decoder=new BASE64Decoder();
  byte[] b1=decoder.decodeBuffer(source);
  
  byte[] b=cipher.doFinal(b1);
  return new String(b);
 }
 public String getCertificate() throws Exception{
  CertificateFactory cf=CertificateFactory.getInstance("X.509");
  FileInputStream in=new FileInputStream("I:\\key\\publicKey.dat");
  Certificate c=cf.generateCertificate(in);
  return c.toString();
 }
 public KeyRSA(){}
 public static void main(String[] args) throws Exception{
  String source="hello i love you gavin kit peng peng";
  String path="I:\\key";
  String enStr=KeyRSA.encrypt(path, source);
  
  System.out.println(enStr);
  
  System.out.println("xxxx:"+KeyRSA.decrypt(path, enStr));
 }
}

JavaRSA生成公钥私钥加解密 用java代码生成公钥私钥密钥对,公钥加密私钥解密,私钥加密公钥解密。直接导入idea,可直接运行。小编正在看区块链的多重加密,看到这儿了就写了一个demo,用于理解加解密。 立即下载

相关推荐

Java 公钥和私钥加密解密代码

Java 公钥和私钥加密解密源码,写了注释可以直接运行,测试没有问题

如何用java RSA生成生成公钥私钥(非对称加密)

言简意赅,直接见代码:package com; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.s...

Java潘老师 3万+

java中使用公钥加密私钥解密原理实现license控制

java中使用公钥加密私钥解密原理实现license控制

Java RSA加密工具类(含密钥对生成和根据私钥计算公钥)

Java RSA和RSA2加密工具(生成密钥对,加密解密,根据私钥计算公钥等)

cl617287的博客 4583

Java实现RSA生成公钥私钥

Java实现,公钥私钥通过计算生产,没有调用API,可以更直观的理解RSA公钥私钥的生成 资源中包含源码、jar包。不管是不想造轮子还是想要学习的同学都适用 也可以根据需要改造代码

模拟退火算法详细讲解(含实例python代码)

模拟退火算法详细讲解(含实例python代码)(一)模拟退火算法简介三级目录(二)模拟退火算法原理(1)基本思想(2)算法步骤(3)参数控制(三)实例分析 最近老师要求做模拟退火算法实验,看了很多博客之后感觉还是不太清楚,最后问了老师之后才搞明白。想把自己的理解写下来,帮助大家更好的理解。本篇文章是在另一篇博客的基础上加了一下自己的理解,然后又把我们在实验中的实例写下来,还有参考代码。希望大家看了之后能够加深对模拟退火算法的理解。 另一篇博客链接: 深度学习 — 模拟退火算法详解. (一)模拟退火算法简介

weixin_48241292的博客 17万+

java案例RSA分段加密解密,签名验签,公钥加密私钥解密,私钥加密公钥解密,解密乱码怎么解决

java案例RSA分段加密解密,签名验签,公钥加密私钥解密,私钥加密公钥解密,解密乱码怎么解决

记录工作历程 1903

skill使用教程,从小白到大神进阶

(2)突然无法使用(NodeJS安装参考):如果正常使用中,突然发现claude命令无法启动claude-code了,可能是claude-code正在后台自动更新,等待几分钟后再尝试使用,如果还是不行,请先运行下列代码移除claude-code,注意,如果你的node安装目录不同,要替换成自己的安装目录:rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code。安装完成后,让我们启动 Claude Code,看看它长什么样。

weixin_45036829的博客 2013

java 代码生成公钥私钥

Java中生成公钥和私钥的教程 在现代应用中,公钥和私钥的生成是数据加密和解密的重要步骤。接下来,我们将一起学习如何在Java中生成一对公钥和私钥。 流程概述 下面是生成公钥和私钥的步骤流程: 步骤 描述 1 创建一个密钥对生成器 2 初始化生成器并指定密钥大小 3 生成密钥对 4 从密钥对中获取...

weixin_31539461的博客 1340

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。

Giver的博客 1930

用ESP32-S3打造迷你录音笔:SPIFFS存储+INMP441麦克风全流程解析

本文详细解析了如何使用ESP32-S3微控制器与INMP441数字麦克风构建迷你录音笔。内容涵盖硬件选型、I2S驱动配置、SPIFFS文件系统存储管理以及WAV格式封装等全流程,重点探讨了在资源受限的嵌入式设备上实现高质量语音采集与存储的优化方案和实战技巧。

qq_27496129的博客 1369

Java 非对称加密算法(RSA算法)

public class RSAUtils { public static void main(String[] args) throws Exception { String publicKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCapIG/XijKqbesb0LC9CdmcKbnzPJMIsa6tRbIwi1FKm3GSYkzYoJWQmHYq5WxVxDosc5aj2b0wBvhQ4WwLgaaNjyC5hcIfhSwAqMFD/

weixin_44264445的博客 570

验证(uvm常见问题)--子类和父类的句柄和对象问题

sv中的子类和父类 在sv中,有如下两个类,child继承于parent。然后在test module中,正确转换的方法如下面所示。其中c1,c2,p1 都指向了同一个子类的对象c1。总结如下: 一个子类的对象是包括子类的成员变量,方法和父类的成员变量,方法。 子类的句柄c1可以直接赋值给父类的句柄p1,此时p1只可以访问父类的成员变量和方法,或者子类的虚方法,比如下面调用p1.display是...

q876507447的博客 7634

Java安全之公钥与私钥

公钥与私钥机制属于非对称加密的范畴,非对称是相对于对称加密而言的,对称加密用于加密与解密的密钥是同一把,而非对称加密则用于加密与解密的密钥不相同,一个公开,称为公钥;一个保密,称为私钥,公钥与私钥必须成对出现,只有是配对的公钥与私钥才能用于加解密。公钥通过非安全通道发放,私钥则由发放者保留,公钥加密的数据,只能使用其配对的私钥对其解密;反之,私钥加密的数据,只可使用公钥对其解密。 对称

云原生之家 2425

1. 迈进 SAP UI5 开发世界的第一步 - Hello World

SAP UI5 是一个用于开发企业级 Web 应用的前端框架,基于 HTML 和 JavaScript. 作为教程的第一步,我们需要了解最基础的 HTML 知识。 请大家在电脑上任意新建一个文件夹,将其命名,比如我取的名称为 Walkthrough. 进入 Walkthrough 文件夹,再新建一个文件夹名叫 01,代表本教程的第一个步骤。 进入 01 文件夹,新建一个 webapp 文件夹。这个名称是 web 应用约定俗成所使用的,大家都倾向于用这个名称,当然你要是想用其他名称也没有问题。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 9011

Git救援:如何从误操作中恢复未提交的更改

摘要:本文探讨了误操作git reset --hard导致未提交更改丢失后的恢复方法。首先分析git reflog的局限性,随后介绍利用IDE本地历史记录(如IntelliJ IDEA和VS Code)进行文件恢复的具体步骤。最后建议使用文件系统恢复工具(如Linux的extundelete或Windows的Recuva)作为备选方案。文章强调定期提交的重要性,同时提供了意外发生时可行的恢复策略,帮助开发者尽可能挽回丢失的工作内容。(149字)

2501_90323865的博客 131

pfx文件提取私钥和公钥JAVA_从PFX文件中获取私钥、公钥证书、公钥

import org.apache.commons.codec.binary.Base64;import org.apache.commons.io.FileUtils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.security.K...

weixin_33805938的博客 1361

YOLOv12改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov12精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 685

java 私钥签名公钥认证

  Java实现私钥签名公钥认证demo package com.ibs.clearing.sign.demo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IO...

zhao_963084302的博客 1955

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java程序生成公钥和私钥

一、创建SecretKey对象public class SecretKey { // 私钥 java版本的私钥 ,java 读取pkcs8 格式的比较方便,所以转换成pkcs8格式的 private String privateKey; // 公钥 private String publicKey; public St...

疾风剑豪 5923

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

私钥 公钥 Java_来自java中私钥的公钥不正确

已解决密码学Python来自java中私钥的公钥不正确10我只有一个私钥,我需要在java中从中计算公钥。 在这个回答之后在Java中从私有公钥获取公钥我想出了以下代码:StringpemString="fullprivatekeystringhere";pemString=pemString.replace("-----BEGINRSAPRIVATEKEY-----\n"...

weixin_36280317的博客 359

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java验证公钥私钥是否匹配及公钥私钥与字符串相互转换

本文记录使用java生成公钥私钥,将公钥私钥转换成字符串,验证公钥私钥是否匹配。 验证公钥私钥是否匹配的思想:使用公钥对字符串进行加密,再使用私钥进行解密,若解密生成的字符串与原字符串一致,则说明公钥私钥匹配。 引入第三方依赖bouncycastle: <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15

Cobb141的博客 8430

公钥和私钥 java_Java RSA加密算法生成公钥和私钥

目前为止,RSA是应用最多的公钥加密算法,能够抵抗已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法中,每个通信主体都有两个钥匙,一个公钥(Public Key)用来对数据进行加密; 一个私钥(Private Key)用来对数据进行解密。下面来看下Java中是如何使用KeyPairGenerator生成keyMap并从中解析出PublickKey和PrivateKey的。编写生...

weixin_42311530的博客 1241

java rsa 公钥_Java RSA加密算法生成公钥和私钥

目前为止,RSA是应用最多的公钥加密算法,能够抵抗已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法中,每个通信主体都有两个钥匙,一个公钥(Public Key)用来对数据进行加密; 一个私钥(Private Key)用来对数据进行解密。下面来看下Java中是如何使用KeyPairGenerator生成keyMap并从中解析出PublickKey和PrivateKey的。编写生...

weixin_34337134的博客 2126

java 生成公钥 私钥_用Java编写一个程序,生成公钥和私钥对

展开全部一:需要包含的包import java.security.*;import java.io.*;import java.util.*;import java.security.*;import java.security.cert.*;import sun.security.x509.*import java.security.cert.Certificate;import java.se...

weixin_31043555的博客 1670

JAVA加载keystore文件,获取公钥和私钥

总结java如何加载keystore文件,获取公私钥信息 /** * Java密钥库(Java Key Store,JKS)KEY_STORE */ private static final String KEY_STORE = "JKS"; private static final String X509 = "X.509"; /** * 从公钥文件当中读取公钥,公钥文件存储在设备某个特定位置 * * @par......

chali1314的博客 9235
上一篇: session超时或未登录时回到登录界面,如有frame跳出frame
下一篇: Struts2 文件下载
IamstudyingJava
博客等级 码龄18年 4粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值