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

网站中的作用网站备案 网站名称

网站中的作用,网站备案 网站名称,中联建设集团股份有限公司网站,怎样做外国石雕产品网站非对称加密工具通常用于保护数据的机密性和身份验证。下面是一个简化的示例,展示了完整的通信流程,包括密钥生成、加密、解密和数字签名验证: import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.…

非对称加密工具通常用于保护数据的机密性和身份验证。下面是一个简化的示例,展示了完整的通信流程,包括密钥生成、加密、解密和数字签名验证:

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import javax.crypto.Cipher;
import java.security.Signature;
import java.util.Base64;public class AsymmetricEncryptionTool {private static final String ALGORITHM = "RSA";// 生成密钥对public static KeyPair generateKeyPair() throws Exception {KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(ALGORITHM);keyPairGenerator.initialize(2048); // 设置密钥长度return keyPairGenerator.generateKeyPair();}// 使用公钥进行加密public static byte[] encrypt(byte[] data, PublicKey publicKey) throws Exception {Cipher cipher = Cipher.getInstance(ALGORITHM);cipher.init(Cipher.ENCRYPT_MODE, publicKey);return cipher.doFinal(data);}// 使用私钥进行解密public static byte[] decrypt(byte[] encryptedData, PrivateKey privateKey) throws Exception {Cipher cipher = Cipher.getInstance(ALGORITHM);cipher.init(Cipher.DECRYPT_MODE, privateKey);return cipher.doFinal(encryptedData);}// 使用私钥进行签名public static byte[] sign(byte[] data, PrivateKey privateKey) throws Exception {Signature signature = Signature.getInstance("SHA256withRSA");signature.initSign(privateKey);signature.update(data);return signature.sign();}// 使用公钥进行验证签名public static boolean verify(byte[] data, byte[] signatureBytes, PublicKey publicKey) throws Exception {Signature signature = Signature.getInstance("SHA256withRSA");signature.initVerify(publicKey);signature.update(data);return signature.verify(signatureBytes);}public static void main(String[] args) {try {// 发送方生成密钥对KeyPair senderKeyPair = generateKeyPair();// 接收方生成密钥对KeyPair receiverKeyPair = generateKeyPair();// 要加密的原始数据String originalData = "Hello, World!";byte[] originalBytes = originalData.getBytes();// 发送方使用接收方的公钥进行加密byte[] encryptedBytes = encrypt(originalBytes, receiverKeyPair.getPublic());// 发送方使用自己的私钥进行签名byte[] signatureBytes = sign(originalBytes, senderKeyPair.getPrivate());// 将字节数组转换为Base64字符串String encryptedString = Base64.getEncoder().encodeToString(encryptedBytes);String signatureString = Base64.getEncoder().encodeToString(signatureBytes);// 接收方将Base64字符串转换为字节数组byte[] encryptedBytesReceived = Base64.getDecoder().decode(encryptedString);byte[] signatureBytesReceived = Base64.getDecoder().decode(signatureString);// 接收方使用自己的私钥进行解密byte[] decryptedBytes = decrypt(encryptedBytesReceived, receiverKeyPair.getPrivate());// 接收方使用发送方的公钥验证签名boolean isValidSignature = verify(originalBytes, signatureBytesReceived, senderKeyPair.getPublic());// 输出结果System.out.println("原始数据: " + originalData);System.out.println("加密后的数据: " + encryptedString);System.out.println("解密后的数据: " + new String(decryptedBytes));System.out.println("签名是否有效: " + isValidSignature);} catch (Exception e) {e.printStackTrace();}}
}


   以上示例代码在加密和签名结果的传输中使用了Base64编码和解码,以确保数据能够正确地转换为字符串并进行传输。发送方将加密后的数据和签名转换成Base64字符串,接收方将Base64字符串重新转换回字节数组进行解密和签名验证。

请注意,在实际应用中,还需要考虑网络传输中可能发生的数据丢失、篡改和重放攻击等情况。为了保护数据的完整性和安全性,可能需要使用额外的协议层或数据包装技术,如HTTPS、数字证书、消息认证码(MAC)等。
 

在这个示例中,我们有两个角色:发送方和接收方。每个角色都生成了自己的密钥对,包括公钥和私钥。

发送方使用接收方的公钥对原始数据进行加密,并使用自己的私钥对原始数据进行签名。然后,发送方将加密后的数据和签名一起发送给接收方。

接收方使用自己的私钥对加密后的数据进行解密,并使用发送方的公钥验证签名。

最后,我们打印出原始数据、加密后的数据、解密后的数据以及签名的验证结果。

请注意,这只是一个简化的示例,用于说明非对称加密在通信中的基本流程。在实际应用中,可能需要考虑更复杂的情况,如密钥交换、密钥管理和保护等。此外,还需要注意密钥的安全性和算法的选择。

http://www.yayakq.cn/news/63508/

相关文章:

  • 3000元做网站网站建设客户需求分析表
  • c 网站开发实例wordpress获得当前文章的相关文章
  • 什么网站做污水处理药剂的好免费公司网站怎么做
  • 漳州做网站配博大钱少a邮件发布wordpress文章
  • 桂林北站附近酒店国外的设计网站
  • 拖拽网站包头公司做网站
  • 中国建设银行招聘官网站头条新闻
  • 足球哪个网站做的比较好大型网站技术架构演进与性能优化
  • 上市公司网站推广方案专业做淘宝开店的网站
  • 玉泉路做网站百度平台商家app下载
  • 企业网站开发网站建设用什么程序
  • 免费创建论坛网站python制作的网站
  • 教育系统网站建设关于推广网站的标题
  • 自用网站开发费用会计分录太原网站建设公司招聘
  • 推广软件公司东莞短视频seo制作
  • 泰和县建设局网站网站前后台
  • 珠海网站建设 骏域网站企业网站系统手机版
  • 专业的网站建设公司排名电商平台怎么注册
  • 品牌网站开发网站维护更新费用
  • 平板电脑可以做网站吗深圳台历制作
  • 贡井移动网站建设网站制作从零开始
  • 东莞石排网站建设毕业设计难度适中的网站开发项目题目
  • 建立网站涉及到哪些企业湖北长城建设实业有限公司网站
  • 可以做本地生活服务的有哪些网站中山外贸出口网站建设多少钱哪里有
  • 京市保障性住房建设投资中心网站南宁网红打卡地有哪些地方
  • 怎么用二维动画做网站首页步骤都有什么网站
  • thinkphp做直播网站潍坊seo教程
  • 美食网站设计论文建筑设计图纸
  • 织梦生成手机网站wordpress 创建时间
  • 高端网站制作上海站霸科技营销型企业网站分析与诊断的步骤