java 校验 签名_使用JAVA实现签名验证示例程序详解
使用JAVA实现签名验证示例程序
程序来源于CSDN资源,我测试了一下,现在拿出来分享。
import java.security.*;
public class SignatureExample {
public static void main(String[] args){
try{
byte[] info ="待签名信息".getBytes();
//产生RSA密钥对(myKeyPair)
KeyPairGenerator myKeyGen= KeyPairGenerator.getInstance("RSA");
myKeyGen.initialize(1024);
KeyPair myKeyPair = myKeyGen.generateKeyPair();
System.out.println( "得到RSA密钥对 "+myKeyPair);
//产生Signature对象,用私钥对信息(info)签名.
Signature mySig = Signature.getInstance("SHA1WithRSA"); //用指定算法产生签名对象
mySig.initSign(myKeyPair.getPrivate()); //用私钥初始化签名对象
mySig.update(info); //将待签名的数据传送给签名对象(须在初始化之后)
byte[] sigResult = mySig.sign(); //返回签名结果字节数组
System.out.println("签名后信息: "+ new String(sigResult) );
//用公钥验证签名结果
mySig.initVerify(myKeyPair.getPublic()); //使用公钥初始化签名对象,用于验证签名
mySig.update(info); //更新签名内容
boolean verify= mySig.verify(sigResult); //得到验证结果
System.out.println( "签名验证结果: " +verify);
}catch (Exception ex){ex.printStackTrace();}
}
}
java 校验 签名_使用JAVA实现签名验证示例程序详解相关推荐
- java验证签名_简单API接口签名验证
前言 后端在写对外的API接口时,一般会对参数进行签名来保证接口的安全性,在设计签名算法的时候,主要考虑的是这几个问题: 1. 请求的来源是否合法 2. 请求参数是否被篡改 3. 请求的唯一性 我们的 ...
- java arraylist 序列化_专题二、ArrayList序列化技术细节详解
一.绪论 所谓的JAVA序列化与反序列化,序列化就是将JAVA 对象以一种的形式保持,比如存放到硬盘,或是用于传输.反序列化是序列化的一个逆过程. JAVA规定被序列化的对象必须实现java.io.S ...
- java 验证码图片识别_JavaSE图像验证码简单识别程序详解
本文为大家分享了JavaSE图像验证码简单识别程序,供大家参考,具体内容如下 首先你应该对图片进行样本采集,然后将样本进行灰度处理,也就是变成黑白两色. 然后你就可以使用该类,对目标文件进行分析.具体 ...
- 京东java多级缓存_京东技术:多级缓存设计详解 | 给数据库减负
来这里找志同道合的小伙伴! 作 者 简 介 王梓晨 自古兵家多谋,<谋攻篇>,"故上兵伐谋,其次伐交,其次伐兵,其下攻城.攻城之法,为不得已",可见攻城之计有很多种,而 ...
- java jaxb 注解_一、JAXB注解的使用详解
一.首先先上一段测试的代码下面的说明和测试都已这一段代码为主 package shiqingxue.cn.itcast.utils.xml; import javax.xml.bind.annotat ...
- java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)
二叉树遍历方法合集: 最近在LeetCode力扣上刷数据结构的二叉树合集,遇到的二叉树遍历方法,于是想理解透彻.本文讲解了二叉树遍历的四种方法,前.中.后序遍历. 对应题目: 94.二叉树的中序遍历 ...
- java随机抽样算法_随机抽样一致性(RANSAC)算法详解
随机抽样一致性(RANSAC)算法能够有效的剔除特征匹配中的错误匹配点. 实际上,RANSAC能够有效拟合存在噪声模型下的拟合函数.实际上,RANSAC算法的核心在于将点划分为"内点&quo ...
- java header接口_【分享】接口测试-header头部详解
一.什么是header header:标头 (header) 是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔. -----百度百科 header ...
- python解放二次开发_[转载]Python二次开发程序详解
###################################### ## Fundamentschwingungsstudie ## ## nur geeignet fuer ABAQUS ...
- WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解
本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...
最新文章
- php 简单模板引擎,PHP 实现简单的模板引擎
- open3d 0.13版本 vs2019编译
- Android Studio添加aar
- Android-Socket的最基础实现以及遇见在2.3可用4.3不可用的解决方法
- Linux命令解释之sudo
- 三网 —— 计算机网络、电信网络、广播电视网络(移动网络)
- 分库分表中间件 sharding
- 织梦列表页list标签调用支持flag属性方法
- flutter 里面读取和复制内容到手机剪切板
- 整理wind商誉数据2016-2019
- 用html制作一个网站的步骤,新手怎么做网页 新手如何制作一个网页
- meta标签下http-equiv 属性详解
- 开源四轴飞行器CC3D的稳定模式和PID算法简介
- matlab纵坐标两边标注,matlab纵坐标标注
- PS2键盘第二套键盘扫描码学习发现
- 匹兹堡计算机科学公司,UPitt的CS「匹兹堡大学计算机科学系」
- 柯西导数与鲁宾逊导数之比较
- 北京大学|北京大学介绍|北京大学简介
- 详细设计说明书编写规范
- AI智慧工地视频分析系统 yolov7