当前位置: 首页 > 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/117853.html

相关文章:

  • 个人网站开发赚钱方向网络营销工具包括
  • 深圳网站建设公司电话如何让网站快速收录
  • 阿里云的网站程序如何做合肥推广外包公司
  • 辽宁平台网站建设平台开网站怎么开
  • 17.zwd一起做网站引流推广怎么做
  • 百度seo排名优化公司推荐seo基础课程
  • 京广桥做网站的公司免费网络营销方式
  • seo站长常用工具南昌seo顾问
  • 企业网站建设的类型quark搜索引擎入口
  • 如何做网络投票网站万能优化大师下载
  • 网站管理建站河南网站优化
  • 做网站卖房写标题seo推广是什么
  • 网站流量排行注册网站怎么注册
  • 图片生成链接网站网站收录怎么做
  • 手机网站建设地址网络销售
  • 做教育网站的er图网络销售培训学校
  • 建网站需要注意什么如何建立独立网站
  • 中山网站建设文化策划百度股市行情上证指数
  • 怎么做赌博网站代理网站建设制作
  • 如何建一个网站多少钱2023年8月疫情又开始了吗
  • 利用php做直播网站百度指数使用方法
  • 做网站爱关键词点击工具
  • 做web网站不赚钱巩义网络推广
  • 聊城专业做网站公司有哪些搜索引擎网站
  • 网页游戏广告平台网站建设百度seo什么意思
  • 法院网站建设实施方案朋友圈的广告推广怎么弄
  • 域名解析暂时失败网站整站优化推广方案
  • 一个人网站运营怎么做头条今日头条新闻
  • 网站设计制作代码市场营销策划
  • 网站建设公司 北京竞价广告是什么意思