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

装饰公司做网站宣传的是个好处简单的网页设计作品模板

装饰公司做网站宣传的是个好处,简单的网页设计作品模板,网站建设推进方案,模板网站建设的弊端我们在开发中需要对用户敏感数据进行加解密#xff0c;比如密码 这边科普一下RSA算法 RSA是非对称加密算法#xff0c;与对称加密算法不同;在对称加密中#xff0c;相同的密钥用于加密和解密数据,因此密钥的安全性至关重要;而在RSA非对称加密中#xff0c;有两个密钥比如密码 这边科普一下RSA算法 RSA是非对称加密算法与对称加密算法不同;在对称加密中相同的密钥用于加密和解密数据,因此密钥的安全性至关重要;而在RSA非对称加密中有两个密钥一个是公钥用于加密数据另一个是私钥用于解密数据;这意味着公钥可以公开分发而私钥必须保持秘密;RSA非对称加密的主要应用包括数据加密使用接收者的公钥加密数据只有拥有相应私钥的接收者才能解密; 数字签名使用发送者的私钥对数据签名接收者可以使用发送者的公钥验证签名确保数据的完整性和来源的真实性; 密钥协商RSA也用于安全协议中如TLS/SSL用于安全地交换对称加密密钥从而实现保密通信; 非对称加密算法提供了更高的安全性因为加密和解密使用不同的密钥攻击者无法从公钥推导出私钥;但由于非对称加密计算成本高昂通常不用于大规模数据的加密而是用于安全协商和数字签名等场景 今天就实现了一个RSA工具类可以很轻松的对数据进行加解密 不需要加依赖代码如下 public class RSAUtils {/*** param plaintext 要加密的字符串* param publicKeyStr 传入的公钥,是一个字符串* return 加密后的字符串, 以Base64编码的形式返回* throws Exception 异常* 这个方法接受一个要加密的字符串和一个公钥字符串,使用公钥进行加密,然后返回加密后的字符串*/public static String encrypt(String plaintext, String publicKeyStr) throws Exception {PublicKey publicKey getPublicKeyFromString(publicKeyStr);Cipher cipher Cipher.getInstance(RSA);cipher.init(Cipher.ENCRYPT_MODE, publicKey);byte[] encryptedBytes cipher.doFinal(plaintext.getBytes());return Base64.getEncoder().encodeToString(encryptedBytes);}/*** param encryptedText 要解密的字符串* param privateKeyStr 传入的私钥,是一个字符串* return 解密后的原始字符串* throws Exception 异常* 这个方法接受一个要解密的字符串和一个私钥字符串,使用私钥进行解密,然后返回解密后的原始字符串*/public static String decrypt(String encryptedText, String privateKeyStr) throws Exception {PrivateKey privateKey getPrivateKeyFromString(privateKeyStr);Cipher cipher Cipher.getInstance(RSA);cipher.init(Cipher.DECRYPT_MODE, privateKey);byte[] encryptedBytes Base64.getDecoder().decode(encryptedText);byte[] decryptedBytes cipher.doFinal(encryptedBytes);return new String(decryptedBytes);}/*** return* throws Exception* 随机生成一个长度为2048的RSA公私钥对*/public static KeyPair generateKeyPair() throws Exception {KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(RSA);keyPairGenerator.initialize(2048);return keyPairGenerator.generateKeyPair();}/*** param publicKey* return* 拿出刚生成Base64格式的私钥对的公钥字符串*/public static String publicKeyToString(PublicKey publicKey) {return Base64.getEncoder().encodeToString(publicKey.getEncoded());}/*** param privateKey* return* 拿出刚生成Base64格式的私钥对的私钥字符串*/public static String privateKeyToString(PrivateKey privateKey) {return Base64.getEncoder().encodeToString(privateKey.getEncoded());}/*** param publicKeyStr* return 公钥私钥对象* throws Exception* 将刚拿出的Base64格式的私钥对的私钥字符串生成公钥对象*/public static PublicKey getPublicKeyFromString(String publicKeyStr) throws Exception {byte[] publicKeyBytes Base64.getDecoder().decode(publicKeyStr);X509EncodedKeySpec spec new X509EncodedKeySpec(publicKeyBytes);KeyFactory keyFactory KeyFactory.getInstance(RSA);return keyFactory.generatePublic(spec);}/*** param privateKeyStr* return* throws Exception* 将刚拿出的Base64格式的私钥对的私钥字符串生成私钥对象*/public static PrivateKey getPrivateKeyFromString(String privateKeyStr) throws Exception {byte[] privateKeyBytes Base64.getDecoder().decode(privateKeyStr);PKCS8EncodedKeySpec spec new PKCS8EncodedKeySpec(privateKeyBytes);KeyFactory keyFactory KeyFactory.getInstance(RSA);return keyFactory.generatePrivate(spec);}public static void main(String[] args) throws Exception {// 生成RSA密钥对KeyPair keyPair generateKeyPair();PublicKey publicKey keyPair.getPublic();PrivateKey privateKey keyPair.getPrivate();// 将公钥和私钥转换为字符串String publicKeyStr publicKeyToString(publicKey);String privateKeyStr privateKeyToString(privateKey);System.out.println(公钥: publicKeyStr);System.out.println(私钥: privateKeyStr);// 加密和解密测试String plaintext 大白猫真厉害;String encryptedText encrypt(plaintext, publicKeyStr);System.out.println(加密后的子串: encryptedText);String decryptedText decrypt(encryptedText, privateKeyStr);System.out.println(解密后的子串: decryptedText);} }结果如下 将数据用公钥加密用私钥解密这样就可以了
http://www.pierceye.com/news/421884/

相关文章:

  • 科技公司企业网站源码门户建设目标
  • wordpress 公司网站 模板 下载网站主办者是谁
  • 教学网站开发源码北京做网站建设价格低
  • 淄博网站seo公司北京酒店团购网站建设
  • 长治网站制作哪家好手机排行榜网站
  • 公司自建网站需要多少钱即时设计生成网页
  • 东台网站建设服务商广州市网站建设公
  • eclipse可以做门户网站嘛北京十大平面设计公司
  • 德文网站建设有趣的网站 知乎
  • 西安做推广网站设计wordpress 移动适配
  • 网站建设续费合同sousou提交网站入口
  • 怎么快速推广网站商城网站离不开支付系统
  • 我想在阿里巴巴上给别人做网站模板网站建设价位
  • 百度如何验证网站网站开发入什么科目
  • 不要验证码的广告网站迁安建设局官方网站
  • 开发网站私活wordpress 被墙
  • 安徽索凯特建设工程有限公司网站wordpress虚拟资源
  • 做购物网站安全吗河南网站平台建设公司
  • 网站台做计么呢wordpress微信插件开发
  • 外贸电商网站制作网站开发数据库问题
  • 如何推广个人网站广州关键词优化外包
  • 长沙专业网站建设公司排名运城网站建设专业服务商
  • 建设银行宁波招聘网站会议管理系统
  • 重庆 网站开发如何将网站提交到搜索引擎
  • 怎么把网站封包做app网页设计基础开题报告及网页流程图
  • 网上购物网站开发的背景网站开发与应用 论文
  • 广州做网站哪个公司做得好优化设计方法
  • ie的常用网站企业文化建设网站
  • 网站广告是文化事业建设费系统客户管理软件
  • 企业网站用个人备案佛山网站建设公司哪个性比价好些