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

合肥万户网络科技有限公司网站搜索排名优化价格

合肥万户网络科技有限公司,网站搜索排名优化价格,美食网站建设策划书,优秀免费h5页面制作文章目录 一、RSA简介二、RSA 原理介绍三、RSA 秘钥对生成1. 密钥对生成2. 获取公钥3. 获取私钥 四、PublicKey 和PrivateKey 的保存1. 获取公钥十六进制字符串1. 获取私钥十六进制字符串 五、PublicKey 和 PrivateKey 加载1. 加载公钥2. 加载私钥 六、 RSA加解密1. RSA 支持三…

文章目录

  • 一、RSA简介
  • 二、RSA 原理介绍
  • 三、RSA 秘钥对生成
    • 1. 密钥对生成
    • 2. 获取公钥
    • 3. 获取私钥
  • 四、PublicKey 和PrivateKey 的保存
    • 1. 获取公钥十六进制字符串
    • 1. 获取私钥十六进制字符串
  • 五、PublicKey 和 PrivateKey 加载
    • 1. 加载公钥
    • 2. 加载私钥
  • 六、 RSA加解密
    • 1. RSA 支持三种加密方式
    • 2.RSA加密
    • 3. RSA解密
  • 七、实例代码

一、RSA简介

RSA是一种常用的非对称加密算法,所谓非对称加密是指使用一对密钥(公钥和私钥)进行加密和解密,公钥人人都可以获得,用于加密数据,私钥保存在服务器中,用于解密数据。加密解密过程如下:

在这里插入图片描述
使用RSA进行加密解密,其优点是非常不容易破解,缺点是和对称加密(如AES)相比,加密速度较慢。因此,实际使用中,常常将对称加密和非对称加密结合使用,即使用非对称加密协商对称加密的密钥,使用对称加密密钥加密传输内容。

二、RSA 原理介绍

RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困 难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数组合成私钥。公钥是可发布的供任何人使用,私钥则为自己所有

三、RSA 秘钥对生成

1. 密钥对生成

 private static KeyPair genKeyPair() {try {KeyPairGenerator keyPairGen = null;keyPairGen = KeyPairGenerator.getInstance("RSA");keyPairGen.initialize(2048, new SecureRandom());return keyPairGen.generateKeyPair();} catch (Exception e) {e.printStackTrace();}return null;}

2. 获取公钥

 public static PublicKey getPublicKey(KeyPair keyPair){return  keyPair.getPublic();}

3. 获取私钥

 public static PrivateKey getPrivateKey(KeyPair keyPair){return  keyPair.getPrivate();}

四、PublicKey 和PrivateKey 的保存

1. 获取公钥十六进制字符串

  public static  String getHexStrPublicKey(PublicKey publicKey){byte[] publicKeyEncoded = publicKey.getEncoded();return  ConvectionUtils.byte2HexStr(publicKeyEncoded);}

1. 获取私钥十六进制字符串

public static  String getHexStrPrivateKey(PrivateKey privateKey){byte[] privateKeyEncoded = privateKey.getEncoded();return  ConvectionUtils.byte2HexStr(privateKeyEncoded);
}

五、PublicKey 和 PrivateKey 加载

1. 加载公钥

  public static PublicKey loadPublicKey(String publicKeyStr) throws Exception {try {byte[] buffer = ConvectionUtils.hexStr2Bytes(publicKeyStr);KeyFactory keyFactory = KeyFactory.getInstance("RSA");X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);return keyFactory.generatePublic(keySpec);} catch (Exception e) {e.printStackTrace();}return null;}

2. 加载私钥

    public static PrivateKey loadPrivateKey(String privateKeyStr) throws Exception {try {byte[] buffer =ConvectionUtils.hexStr2Bytes(privateKeyStr);PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(buffer);KeyFactory keyFactory = KeyFactory.getInstance("RSA");return keyFactory.generatePrivate(keySpec);} catch (Exception e) {e.printStackTrace();}return null;}

六、 RSA加解密

1. RSA 支持三种加密方式

  • RSA/ECB/PKCS1Padding (1024, 2048)
  • RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048)
  • RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048)

2.RSA加密

 public static byte[] encrypt(PublicKey publicKey, byte[] plainTextData)  {if (publicKey == null || plainTextData == null) {return null;}Cipher cipher;try {cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");cipher.init(Cipher.ENCRYPT_MODE, publicKey);return cipher.doFinal(plainTextData);} catch (Exception e) {e.printStackTrace();}return null;}

3. RSA解密

public static byte[] decrypt(RSAPrivateKey privateKey, byte[] cipherData)  {if (privateKey == null || cipherData == null) {return null;}Cipher cipher = null;try {cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");cipher.init(Cipher.DECRYPT_MODE, privateKey);return cipher.doFinal(cipherData);} catch (Exception e) {e.printStackTrace();}return null;} 

RSA在线加密解密

七、实例代码

AndroidEncryption

http://www.hkea.cn/news/162827/

相关文章:

  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄
  • 江西南昌网站建设公司哪家好谷歌google 官网下载
  • 公司网站用什么开发百度指数怎么用
  • 建站主机 wordpress济南网站万词优化
  • 哈尔滨app开发seo自学网官网