使用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实现签名验证示例程序详解相关推荐

  1. java验证签名_简单API接口签名验证

    前言 后端在写对外的API接口时,一般会对参数进行签名来保证接口的安全性,在设计签名算法的时候,主要考虑的是这几个问题: 1. 请求的来源是否合法 2. 请求参数是否被篡改 3. 请求的唯一性 我们的 ...

  2. java arraylist 序列化_专题二、ArrayList序列化技术细节详解

    一.绪论 所谓的JAVA序列化与反序列化,序列化就是将JAVA 对象以一种的形式保持,比如存放到硬盘,或是用于传输.反序列化是序列化的一个逆过程. JAVA规定被序列化的对象必须实现java.io.S ...

  3. java 验证码图片识别_JavaSE图像验证码简单识别程序详解

    本文为大家分享了JavaSE图像验证码简单识别程序,供大家参考,具体内容如下 首先你应该对图片进行样本采集,然后将样本进行灰度处理,也就是变成黑白两色. 然后你就可以使用该类,对目标文件进行分析.具体 ...

  4. 京东java多级缓存_京东技术:多级缓存设计详解 | 给数据库减负

    来这里找志同道合的小伙伴! 作 者 简 介 王梓晨 自古兵家多谋,<谋攻篇>,"故上兵伐谋,其次伐交,其次伐兵,其下攻城.攻城之法,为不得已",可见攻城之计有很多种,而 ...

  5. java jaxb 注解_一、JAXB注解的使用详解

    一.首先先上一段测试的代码下面的说明和测试都已这一段代码为主 package shiqingxue.cn.itcast.utils.xml; import javax.xml.bind.annotat ...

  6. java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)

    二叉树遍历方法合集: 最近在LeetCode力扣上刷数据结构的二叉树合集,遇到的二叉树遍历方法,于是想理解透彻.本文讲解了二叉树遍历的四种方法,前.中.后序遍历. 对应题目: 94.二叉树的中序遍历 ...

  7. java随机抽样算法_随机抽样一致性(RANSAC)算法详解

    随机抽样一致性(RANSAC)算法能够有效的剔除特征匹配中的错误匹配点. 实际上,RANSAC能够有效拟合存在噪声模型下的拟合函数.实际上,RANSAC算法的核心在于将点划分为"内点&quo ...

  8. java header接口_【分享】接口测试-header头部详解

    一.什么是header header:标头 (header) 是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔. -----百度百科 header ...

  9. python解放二次开发_[转载]Python二次开发程序详解

    ###################################### ## Fundamentschwingungsstudie ## ## nur geeignet fuer ABAQUS ...

  10. WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解

    本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...

最新文章

  1. php 简单模板引擎,PHP 实现简单的模板引擎
  2. open3d 0.13版本 vs2019编译
  3. Android Studio添加aar
  4. Android-Socket的最基础实现以及遇见在2.3可用4.3不可用的解决方法
  5. Linux命令解释之sudo
  6. 三网 —— 计算机网络、电信网络、广播电视网络(移动网络)
  7. 分库分表中间件 sharding
  8. 织梦列表页list标签调用支持flag属性方法
  9. flutter 里面读取和复制内容到手机剪切板
  10. 整理wind商誉数据2016-2019
  11. 用html制作一个网站的步骤,新手怎么做网页 新手如何制作一个网页
  12. meta标签下http-equiv 属性详解
  13. 开源四轴飞行器CC3D的稳定模式和PID算法简介
  14. matlab纵坐标两边标注,matlab纵坐标标注
  15. PS2键盘第二套键盘扫描码学习发现
  16. 匹兹堡计算机科学公司,UPitt的CS「匹兹堡大学计算机科学系」
  17. 柯西导数与鲁宾逊导数之比较
  18. 北京大学|北京大学介绍|北京大学简介
  19. 详细设计说明书编写规范
  20. AI智慧工地视频分析系统 yolov7

热门文章

  1. git bash 下backspace键无法使用的问题
  2. 装修,一场没有硝烟的战争
  3. PAT考前准备篇:目标满分
  4. 米发,免费域名转发 301重定向 URL跳转服务
  5. 软件设计师----计算机网络
  6. 奇点云数据中台技术汇(五)| CDP,线下零售顾客运营中台
  7. 【愿头发与你我同在队】团队项目第一次作业-组队与选题
  8. 整个网站网页变黑白的效果
  9. 联想微型计算机进入bios,联想如何进入bios界面的方法汇总
  10. SPSS Modeler 数据整理之变量设定 (指南 第三章)