zoukankan      html  css  js  c++  java
  • Java文件签名与验证

    数字签名与验证只需要用户输入三个参数:

    • Ø         原文件
    • Ø         签名信息文件
    • Ø         用户名

    签名过程:

    1. 1.         首先从用户名对应的用户注册文件中读取用户信息和私钥,对原文件产生报文摘要,再对摘要进行签名。原文件的报文摘要、对报文摘要的签名都存入签名信息文件。
    2. 2.         接收三个输入参数:原文件路径、签名信息文件路径和用户名
    3. 3.         从用户注册文件中读取用户信息和私钥
    4. 4.         对原文件产生报文摘要、把摘要用对象输出流写入签名信息文件
    5. 5.         生成随机源
    6. 6.         生成签名对象,用私有密钥和随机源初始化签名对象
    7. 7.         将原文件的报文摘要输入签名对象
    8. 8.         对原文件的报文摘要进行签名,将签名信息用对象输出流写入签名信息文件

    验证签名过程:

    根据签名过程的逆过程对签名信息对比认证,顺序不能颠倒。

    依次从签名信息文件中读取的对象是:原文件的报文摘要,对原文件报文摘要的签名,

    1. 1.         接收三个输入参数:原文件路径、签名信息文件路径和用户名
    2. 2.         从用户注册文件中读取用户信息和公钥
    3. 3.         从签名信息文件中,读取原文摘要和数字签名
    4. 4.         产生原文件报文摘要,并与从签名信息文件中读取到的摘要进行对比
    5. 5.         生成签名对象,用公有密钥验证签名信息
  • 相关阅读:
    Global Vectors forWord Representation
    Latent Semantic Analysis(LSA/ LSI)原理简介
    目前最快速的多线程Kmeans算法,java实现
    UndertowServer+SpringMVC+Thymeleaf模板引擎构建轻量级的web项目
    中文分词之逆向最大匹配算法结合时间位置进行分词
    Lucene 索引与检索架构图
    搜索算法
    聚类
    动态规划--国王挖金矿问题
    JS获取后台返回的JSON数据
  • 原文地址:https://www.cnblogs.com/heartstage/p/3442547.html
Copyright © 2011-2022 走看看