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

顺德新网站制作石家庄百度推广排名优化

顺德新网站制作,石家庄百度推广排名优化,湖南吉首建设官方网站,网页版梦幻西游聊天限制RsaUtils 是一个RSA工具类,提供生成密钥对、读取和写入公钥/私钥文件的功能。它支持从文件中加载密钥,并将密钥转换为对应的对象,适用于加密解密和身份认证场景。 import java.io.File; import java.io.IOException; import java.nio.file.F…

RsaUtils 是一个RSA工具类,提供生成密钥对、读取和写入公钥/私钥文件的功能。它支持从文件中加载密钥,并将密钥转换为对应的对象,适用于加密解密和身份认证场景。

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.security.*;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;public class RsaUtils {private static final int DEFAULT_KEY_SIZE = 2048;/*** 从文件中读取公钥** @param filename 公钥保存路径,相对于classpath* @return 公钥对象* @throws Exception*/public static PublicKey getPublicKey(String filename) throws Exception {byte[] bytes = readFile(filename);return getPublicKey(bytes);}/*** 从文件中读取密钥** @param filename 私钥保存路径,相对于classpath* @return 私钥对象* @throws Exception*/public static PrivateKey getPrivateKey(String filename) throws Exception {byte[] bytes = readFile(filename);return getPrivateKey(bytes);}/*** 获取公钥** @param bytes 公钥的字节形式* @return* @throws Exception*/private static PublicKey getPublicKey(byte[] bytes) throws Exception {bytes = Base64.getDecoder().decode(bytes);X509EncodedKeySpec spec = new X509EncodedKeySpec(bytes);KeyFactory factory = KeyFactory.getInstance("RSA");return factory.generatePublic(spec);}/*** 获取密钥** @param bytes 私钥的字节形式* @return* @throws Exception*/private static PrivateKey getPrivateKey(byte[] bytes) throws NoSuchAlgorithmException, InvalidKeySpecException {bytes = Base64.getDecoder().decode(bytes);PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(bytes);KeyFactory factory = KeyFactory.getInstance("RSA");return factory.generatePrivate(spec);}/*** 根据密文,生存rsa公钥和私钥,并写入指定文件** @param publicKeyFilename  公钥文件路径* @param privateKeyFilename 私钥文件路径* @param secret             生成密钥的密文*/public static void generateKey(String publicKeyFilename, String privateKeyFilename, String secret, int keySize) throws Exception {KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");SecureRandom secureRandom = new SecureRandom(secret.getBytes());keyPairGenerator.initialize(Math.max(keySize, DEFAULT_KEY_SIZE), secureRandom);KeyPair keyPair = keyPairGenerator.genKeyPair();// 获取公钥并写出byte[] publicKeyBytes = keyPair.getPublic().getEncoded();publicKeyBytes = Base64.getEncoder().encode(publicKeyBytes);writeFile(publicKeyFilename, publicKeyBytes);// 获取私钥并写出byte[] privateKeyBytes = keyPair.getPrivate().getEncoded();privateKeyBytes = Base64.getEncoder().encode(privateKeyBytes);writeFile(privateKeyFilename, privateKeyBytes);}private static byte[] readFile(String fileName) throws Exception {return Files.readAllBytes(new File(fileName).toPath());}private static void writeFile(String destPath, byte[] bytes) throws IOException {File dest = new File(destPath);if (!dest.exists()) {dest.createNewFile();}Files.write(dest.toPath(), bytes);}
}

http://www.dtcms.com/wzjs/236239.html

相关文章:

  • 江苏路街道网站建设app推广策略
  • 深圳做网站乐云seo费用优惠百度搜索风云榜小说总榜
  • 17.zwd一起做网站超级软文网
  • 一般网站隐蔽点么么进武汉大学人民医院洪山院区
  • 网站中英文互译 java怎么做网络营销品牌有哪些
  • 西安网站建设是什么市场推广专员
  • 手机版的学习网站郑州计算机培训机构哪个最好
  • wordpress自定义用户头像一键优化
  • 网站策划方案互联网金融营销案例
  • php网站数据库怎么上传个人优秀网页设计
  • 私服网站建设如何做网络营销推广
  • 网站怎么做营销今日军事新闻最新消息中国
  • 揭阳网站制作托管网页在线秒收录
  • 拍卖网站模板百度广告管家
  • 网站建设实战案例网络怎样做推广
  • 最新廊坊疫情最新消息莆田seo
  • linux下如何打开wordpress东莞网络营销优化
  • 湖南做网站 地址磐石网络最新军事新闻 今日 最新消息
  • 免费看网站源码成都网站搜索排名优化公司
  • 珠宝类网站建设可执行报告太原seo快速排名
  • 枞阳网站制作企业在线培训系统
  • 在网站制作完成后网站建设站长工具域名解析
  • 三七批发可做网站名吗年轻人不要做网络销售
  • 工程公司名字大全seo教程技术资源
  • 广州冼村地铁站几号线百度手机助手下载安卓
  • 新华书店的做的数字阅读网站seo关键词首页排名代发
  • 房地产建设网站的意义seo查询是什么
  • wordpress插件中使用表单郑州seo顾问外包公司
  • 南宁网页制作培训广州:推动优化防控措施落
  • 织梦网站突然打开很慢网站seo优化报告