Java 使用 RSA 进行加密、解密、签名和验签
RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法,广泛用于数据加密和数字签名领域。它是由 Ron Rivest、Adi Shamir 和 Leonard Adleman 于 1977 年共同提出的。 RSA 算法常用于如下场景: * 公钥加密,私钥解密 * 私钥加密,公钥解密(不推荐) * 私钥签名,公钥验签 生成密钥对 {#生成密钥对} --...
RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法,广泛用于数据加密和数字签名领域。它是由 Ron Rivest、Adi Shamir 和 Leonard Adleman 于 1977 年共同提出的。 RSA 算法常用于如下场景: * 公钥加密,私钥解密 * 私钥加密,公钥解密(不推荐) * 私钥签名,公钥验签 生成密钥对 {#生成密钥对} --...
在 [上一篇文章](/java-rsa-codec/) 中,我们介绍了如何使用 Java 生成 RSA 密钥对,以及如何使用 RSA 进行加密、解密和签名验签。 在实际情况中,RSA 加密、解密所使用的密钥对往往是已经生成好的,通常以 PEM(Privacy Enhanced Mail)格式存储。 > PEM 是一种常见的文件格式,用于存储和传输加密的 **证书** 、...
在 [上一文](/java-rsa-codec/) 一文中,介绍了如何在 Java 中使用 RSA **非对称加密算法** 进行加密、解密、生成数字签名和验签。 和 "非对称加密算法" 对应的就是 "对称加密算法"。非对称加密算法(如 RSA)的密钥通常由 **公钥** 和 **私钥** 组成,且遵守公钥加密、私钥解密的模式。而对称加密...
1、概览 {#1概览} ----------- 本文将带你了解 Java 抛出 `UndeclaredThrowableException` 异常的原因。 2、UndeclaredThrowableException {#2undeclaredthrowableexception} ----------------------------------------------...
本文将带你了解如何在 [Spring Boot](/spring-boot/) 应用中利用 Java Record 来提高其效率和可读性。 Java Record 是什么? {#java-record-是什么} ----------------------------------- Java Record 是一种专为保存不可变数据而设计的类。它们自动提供 `equals()...
1、简介 {#1简介} ----------- 使用 Jackson 时,或多或少都会遇到需要从给定的类(`Class`)对象中生成 `JavaType` 的情况。 本文将带你了解如何借助 `Jackson` 库从类创建 `JavaType`。 2、JavaType 和 Class {#2javatype-和-class} ------------------------...
领先的开源大型语言模型开发商 Mistral AI [宣布](https://docs.mistral.ai/guides/function-calling/),其尖端模型新增了 **函数调用** 支持。 **函数调用** 是一种便于 LLM 与外部工具和 API 集成的功能。它使语言模型能够请求执行客户端函数,从而访问必要的运行时信息或动态执行任务。 本文将带你了解如何将...
return语句在函数定义中的作用有两个:一是返回函数值,二是中止函数的执行。 return可以返回包括基本数据类型、对象、函数等任意类型的值。 ```javascript function fn(){ console.log(123) // 每一个函数 都有一个return // 默认return 的值是undefined ...
setTimeout 和 clearTimeout ------------------------- ` setTimeout() ` 延时定时器,即多久时间之后去执行(一次性的) 语法: 主要包含两个参数,函数和单位为毫秒的数值。 ```javascript // 一 setTimeout("function();",delaytime...
日期的Date对象 --------- 创建一个日期的对象 ```javascript let date = new Date(); console.log(date); //Tue Mar 23 2021 10:10:51 GMT+0800 (中国标准时间) ``` ```javascript let year = date.getFullYear()...