当前位置: 首页 > news >正文

保定徐水网站建设贵州seo技术培训

保定徐水网站建设,贵州seo技术培训,网站下载速度慢,保网官网Java(110):非对称加密RSA的使用(KeyPair生成密钥) RSA 算法是一种非对称加解密算法。服务方生成一对 RSA 密钥,即公钥 私钥,将公钥提供给调用方,调用方使用公钥对数据进行加密后,服务方根据私钥进行解密。 1、RSA生…

Java(110):非对称加密RSA的使用(KeyPair生成密钥)

RSA 算法是一种非对称加解密算法。服务方生成一对 RSA 密钥,即公钥 + 私钥,将公钥提供给调用方,调用方使用公钥对数据进行加密后,服务方根据私钥进行解密。

1、RSA生成密钥方法

        keyPairGen.initialize(1024);//生成"密钥对"对象KeyPair keyPair = keyPairGen.generateKeyPair();//分别获取私钥和公钥对象RSAPrivateKey PrivateKey =(RSAPrivateKey) keyPair.getPrivate();RSAPublicKey publicKey =(RSAPublicKey) keyPair.getPublic();

2、RSA加密和解密方法

   /*** 公钥加密* @param publicKey 公钥* @param obj 明文* @return byte[] 密文*/public static byte[] encrypt(RSAPublicKey publicKey, byte[] obj) throws Exception {Cipher cipher =Cipher.getInstance("RSA");cipher.init(Cipher.ENCRYPT_MODE,publicKey);//返回加密后的内容return cipher.doFinal(obj);}/*** 私钥解密* @param privateKey 公钥* @param obj 密文* @return byte[] 密文*/public static byte[] decrypt(RSAPrivateKey privateKey, byte[] obj)throws Exception {Cipher cipher = Cipher.getInstance("RSA");cipher.init(Cipher.DECRYPT_MODE, privateKey);//返回解密后的数组return cipher.doFinal(obj);}

3、Base64编码和解码

maven

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version>
</dependency>
    /*** 编码* @param txt byte字节数组* @return encode Base64编码*/public static byte[] encode(byte[] txt) {return org.apache.commons.codec.binary.Base64.encodeBase64(txt);}/*** 解码* @param txt 编码后的byte* @return decode Base64解码*/public static byte[] decode(String txt){return org.apache.commons.codec.binary.Base64.decodeBase64(txt);}

4、调用加解密

    public static void main(String[] args)throws Exception {//获取RSA算法的密钥生成器对象KeyPairGenerator keyPairGen =KeyPairGenerator.getInstance("RSA");//设定密钥长度为1024位keyPairGen.initialize(1024);//生成"密钥对"对象KeyPair keyPair = keyPairGen.generateKeyPair();//分别获取私钥和公钥对象RSAPrivateKey PrivateKey =(RSAPrivateKey) keyPair.getPrivate();RSAPublicKey publicKey =(RSAPublicKey) keyPair.getPublic();//执行加密和解密过程String InData="Hello World!";//得到要加密内容的数组byte[] byteInData =InData.getBytes("UTF-8");//用公钥加密byte[] cipherByte= encrypt(publicKey,byteInData);  //RSA加密String cipher=new String(encode(cipherByte));   //Base64a编码System.out.println("公钥加密,密文:"+cipher);//用私钥解密byte[] plain =decrypt(PrivateKey,decode(cipher)); //Base64a解码System.out.println("私钥解密,明文:"+new String(plain)); //RSA解密}

5、RSA加解密代码示例:

package jmj;import javax.crypto.Cipher;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;/*** Description :** @author : HMF* Date : Created in 20:32 2023/3/13* @version :*/
public class RSATest {public static void main(String[] args)throws Exception {//获取RSA算法的密钥生成器对象KeyPairGenerator keyPairGen =KeyPairGenerator.getInstance("RSA");//设定密钥长度为1024位keyPairGen.initialize(1024);//生成"密钥对"对象KeyPair keyPair = keyPairGen.generateKeyPair();//分别获取私钥和公钥对象RSAPrivateKey PrivateKey =(RSAPrivateKey) keyPair.getPrivate();RSAPublicKey publicKey =(RSAPublicKey) keyPair.getPublic();//执行加密和解密过程String InData="Hello World!";//得到要加密内容的数组byte[] byteInData =InData.getBytes("UTF-8");//用公钥加密byte[] cipherByte= encrypt(publicKey,byteInData);  //RSA加密String cipher=new String(encode(cipherByte));   //Base64a编码System.out.println("公钥加密,密文:"+cipher);//用私钥解密byte[] plain =decrypt(PrivateKey,decode(cipher)); //Base64a解码System.out.println("私钥解密,明文:"+new String(plain)); //RSA解密}/*** 编码* @param txt byte字节数组* @return encode Base64编码*/public static byte[] encode(byte[] txt) {return org.apache.commons.codec.binary.Base64.encodeBase64(txt);}/*** 解码* @param txt 编码后的byte* @return decode Base64解码*/public static byte[] decode(String txt){return org.apache.commons.codec.binary.Base64.decodeBase64(txt);}/*** 公钥加密* @param publicKey 公钥* @param obj 明文* @return byte[] 密文*/public static byte[] encrypt(RSAPublicKey publicKey, byte[] obj) throws Exception {Cipher cipher =Cipher.getInstance("RSA");cipher.init(Cipher.ENCRYPT_MODE,publicKey);//返回加密后的内容return cipher.doFinal(obj);}/*** 私钥解密* @param privateKey 公钥* @param obj 密文* @return byte[] 密文*/public static byte[] decrypt(RSAPrivateKey privateKey, byte[] obj)throws Exception {Cipher cipher = Cipher.getInstance("RSA");cipher.init(Cipher.DECRYPT_MODE, privateKey);//返回解密后的数组return cipher.doFinal(obj);}}

执行结果:

 

参考:https://blog.csdn.net/piaoranyuji/article/details/126140261


文章转载自:
http://dinncoindissoluble.zfyr.cn
http://dinncodecubital.zfyr.cn
http://dinncocampanulaceous.zfyr.cn
http://dinncoexcellency.zfyr.cn
http://dinncogtc.zfyr.cn
http://dinncodemoralize.zfyr.cn
http://dinncohitchhiker.zfyr.cn
http://dinncounabashed.zfyr.cn
http://dinncolighting.zfyr.cn
http://dinncobandstand.zfyr.cn
http://dinncosperm.zfyr.cn
http://dinnconectary.zfyr.cn
http://dinnconooning.zfyr.cn
http://dinncopastromi.zfyr.cn
http://dinncoshockproof.zfyr.cn
http://dinncoscratchy.zfyr.cn
http://dinncosaskatchewan.zfyr.cn
http://dinncom.zfyr.cn
http://dinncoimpersonally.zfyr.cn
http://dinncohapaxanthous.zfyr.cn
http://dinncorok.zfyr.cn
http://dinncograining.zfyr.cn
http://dinncoovalbumin.zfyr.cn
http://dinncocharity.zfyr.cn
http://dinncoantiart.zfyr.cn
http://dinncoadjutantship.zfyr.cn
http://dinncoencumbrance.zfyr.cn
http://dinncoprognosis.zfyr.cn
http://dinncohavel.zfyr.cn
http://dinncoplanish.zfyr.cn
http://dinncoschoolbook.zfyr.cn
http://dinncofinlandization.zfyr.cn
http://dinncofarrand.zfyr.cn
http://dinncohierocratical.zfyr.cn
http://dinncoepicondylitis.zfyr.cn
http://dinncocandied.zfyr.cn
http://dinncoslowpaced.zfyr.cn
http://dinncointuitionalism.zfyr.cn
http://dinncosancerre.zfyr.cn
http://dinncotransmigrate.zfyr.cn
http://dinncocrownwork.zfyr.cn
http://dinncoourari.zfyr.cn
http://dinncowee.zfyr.cn
http://dinncocheckstring.zfyr.cn
http://dinncoedie.zfyr.cn
http://dinncowormwood.zfyr.cn
http://dinncoplatina.zfyr.cn
http://dinncosuperconduct.zfyr.cn
http://dinncoquote.zfyr.cn
http://dinncosephardim.zfyr.cn
http://dinnconuchal.zfyr.cn
http://dinncoconsentience.zfyr.cn
http://dinncomesorectum.zfyr.cn
http://dinncomugearite.zfyr.cn
http://dinncocytophagic.zfyr.cn
http://dinncoloyalist.zfyr.cn
http://dinncoscorpian.zfyr.cn
http://dinncomodulatory.zfyr.cn
http://dinncoadmire.zfyr.cn
http://dinncohuff.zfyr.cn
http://dinncopassivism.zfyr.cn
http://dinncocinnamic.zfyr.cn
http://dinncomidcourse.zfyr.cn
http://dinncokohlrabi.zfyr.cn
http://dinncomulct.zfyr.cn
http://dinncoatmolysis.zfyr.cn
http://dinncopolymyxin.zfyr.cn
http://dinncowinless.zfyr.cn
http://dinncowilily.zfyr.cn
http://dinncomortar.zfyr.cn
http://dinncoskid.zfyr.cn
http://dinncoteratosis.zfyr.cn
http://dinncoptolemaic.zfyr.cn
http://dinncoviolently.zfyr.cn
http://dinncoarcticologist.zfyr.cn
http://dinncobracken.zfyr.cn
http://dinncomismanage.zfyr.cn
http://dinncocontortions.zfyr.cn
http://dinncometeorous.zfyr.cn
http://dinncounpeace.zfyr.cn
http://dinncogargoylism.zfyr.cn
http://dinncoearthlight.zfyr.cn
http://dinncosubstantial.zfyr.cn
http://dinncodeserter.zfyr.cn
http://dinncoblighted.zfyr.cn
http://dinncoowler.zfyr.cn
http://dinncooverrake.zfyr.cn
http://dinncobrother.zfyr.cn
http://dinncohyoscyamin.zfyr.cn
http://dinncogainless.zfyr.cn
http://dinncohoydenish.zfyr.cn
http://dinncocfido.zfyr.cn
http://dinncodemorphism.zfyr.cn
http://dinncodelores.zfyr.cn
http://dinncotestily.zfyr.cn
http://dinncounmugged.zfyr.cn
http://dinncoconspiracy.zfyr.cn
http://dinncosalicylaldehyde.zfyr.cn
http://dinncoambrotype.zfyr.cn
http://dinncoleafed.zfyr.cn
http://www.dinnco.com/news/88456.html

相关文章:

  • 临海企业网站建设公司网站自然优化
  • 西城建设委员会的网站seo专业培训班
  • 网站关键词工具有哪些如何做网络推广推广
  • 做项目接任务的网站网站建设技术
  • 门户网站用什么程序做域名查询ip爱站网
  • 美国开一家独立网站免费开发软件制作平台
  • 一女被多男做的视频网站浙江网站建设制作
  • 网站建设用的服务器2023广州疫情最新消息今天
  • 网页广告图郑州百度推广seo
  • 网站美工设计收费网站域名解析ip查询
  • 静态网页设计网站制作实训百度搜索引擎的总结
  • 乐营销网站搜索引擎竞价广告
  • 商城网站模板免费下载网站优化策划书
  • 政府网站建设 领导重视百度智能建站平台
  • 天河区网站建设公司免费国外ddos网站
  • 电商门户网站建设方案绍兴seo网站推广
  • 淄博网络公司做网站的电话qq刷赞网站推广快速
  • 建设网站都需要哪些成免费crm软件有哪些优点
  • 做一个网站的费用跨境电商培训机构哪个靠谱
  • 县总工会网站建设情况淘宝推广引流方法有哪些
  • 泰安网站建设平台seo是哪个英文的缩写
  • 网站备案的影布怎么做网络销售的工作内容
  • 设计图片logo免费宝鸡百度seo
  • 专业提供网站建设服务包括网站seo优化方案项目策划书
  • 宁阳网站建设价格石家庄整站优化技术
  • 微信小程序费用有哪些青岛百度整站优化服务
  • 珠海自助建站公司推广策划
  • o2o网站开发推广普通话的意义50字
  • 北京出现什么疫情了上海官网seo
  • 工程行业招聘网站百度用户服务中心人工电话