找到一个简单的例子,将加签 签名(发起端)   和   验签(接收端)的过程将的比较仔细,例子保留下来

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();}
    }
}

学习签名signature 的使用相关推荐

  1. 微信 手机 网站 开发 签名 signature node (在更新中)

    在进行微信手机网站开发时,第一座大山就是获取签名.下面是微信JS-SDK开发文档的内容,本文主要理清思路,开发起来,就很快了. wx.config({debug: true, // 开启调试模式,调用 ...

  2. java接口签名(Signature)实现方案续

    一.前言 由于之前写过的一片文章 (java接口签名(Signature)实现方案 )收获了很多好评,此次来说一下另一种简单粗暴的签名方案.相对于之前的签名方案,对body.paramenter.pa ...

  3. 简单明了的区分C++ C语言中声明(declaration)、定义(definition)、签名(signature)的区别

    无论是在C或者C++中,我们常常把声明和定义给弄混淆了,分不清楚,天真的认为这个两个东西是没有任何的区别,但是其实不以为然.下面我们来简单的阐述这两者的区别. 何为声明(declaration)? 声 ...

  4. 开放接口签名(Signature)实现

    开放接口签名(Signature)实现方案 既然是对外开放,那么调用者一定没有我们系统的Token,就需要对调用者进行签名验证,签名验证采用主流的验证方式,采用Signature 的方式. 字段 类型 ...

  5. 各种签名(signature)和校验

    签名的概念 目的: 为了确认某个信息确实是由某个发送方发送的,或者某个发布内容确实是由发送方发布的,任何人都不可能伪造消息,并且,发送方也不能抵赖. 方法: 对发布的信息内容,通过某种可靠的加工(比如 ...

  6. java 方法signature,基于微信签名signature获取(实例讲解)

    微信分享的签名算法微信也写有,主要是调用接口需要使用服务器(微信官方文档是这么说的,试了下前端居然特么也可以),不过微信的access_token和jsapi_ticket是有使用次数限制的,所以还是 ...

  7. 微信开发之使用java获取签名signature

    一.前言 微信接口调用验证最终需要用到的三个参数noncestr.timestamp.signature: 接下来将会给出获取这三个参数的详细代码 本文使用到的技术HttpClient.Json字符串 ...

  8. 微信开发之使用java获取签名signature(贴源码,附工程)

    一.前言 微信接口调用验证最终需要用到的三个参数noncestr.timestamp.signature: 接下来将会给出获取这三个参数的详细代码 本文的环境eclipse + maven 本文使用到 ...

  9. java 手写签名,signature java html5+ 手写签名 源码 Develop 238万源代码下载- www.pudn.com...

    文件名称: signature下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 491 KB 上传时间: 2013-08-03 下载次数: 17 提 供 者: 孙晨 ...

最新文章

  1. 保护隐私的 Structure-from-Motion (SfM)
  2. ACdream1032(树形DP)
  3. nginx+tomcat实现Windows系统下的负载均衡搭建教程
  4. MPLS ×××配置
  5. mysql optimize 参数查看_Mysql High Performance:Optimize Setting
  6. 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc
  7. mysql sql trace_SQL_TRACE及 Tkprof用法以及问题分析
  8. 阿里视觉AI训练营-day05-创意日-你的图像识别项目
  9. Github多人协作
  10. QT编写BarChart直方图
  11. input隐藏域传值
  12. 北漂18届三本毕业生从实习到正式工作的前端开发求职经历
  13. 前端杂谈: CSS 权重 (Specificity)
  14. OneZero第四周第一次站立会议(2016.4.11)
  15. 在连接至 Steam 服务器时发生了一个错误。请稍后重试。
  16. 聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例
  17. 管理打开的标签,减少Chrome95%内存 —OneTab
  18. vue关于接口请求数据过大导致浏览器崩溃
  19. 基于51单片机的智能雨刷设计
  20. 【JZOJ1758】过河

热门文章

  1. JAVA 华为云 流程控制基础题
  2. 【学习笔记】ARC149
  3. qt SceneView模拟发送鼠标点击事件
  4. 如何在日志中查找mysql日志临时密码_通过查询日志定位持有锁的SQL语句
  5. 【USACO 2020 January Silver】Berry Picking 题解
  6. 【教程】在Radmixture运行无标杆成分名的任意祖源计算器的方法
  7. ZeroDivisionError:Integer division or modulo by zero
  8. 软件:IIS上配置CGI
  9. 向量欧氏距离 点积 余弦相似度 余弦距离
  10. 今天的码农女孩做了关于svg画图和canvas画图 2022/1/18