数字签名及验证功能实现思路

这几天研究了下数字签名相关的功能,简单分享下实现的思路。因签名及验证已封装成插件,故本文不对具体的签名功能及验签功能进行讲解,只分享如何集成到实际项目中。

需求

在表单提交的时候进行签名,查看时可以对该单据数据进行签名校验。

目的

防止数据被后台私自篡改,有理有据。

设计思路
  1. 表单编辑页面,点击提交时,自行组装需要进行签名验证的数据,拼接成json字符串原文;
  2. 调用签名插件进行签名,并获取签名后的密文信息;
  3. 调用后台方法,保存原文、密文、以及当前表单的唯一标识ID;
  4. 表单查看页面,点击验签,获取当前页面对应的需要进行签名验证的数据,拼接成json字符串原文(格式保证和步骤1拼接的原文一致);
  5. 根据表单唯一标识ID查询对应数据库存储的密文;
  6. 最后调用签名插件的验证方法进行数据验证(传参为步骤4获取的原文+步骤5查询的密文),验证成功则说明数据未被篡改。
表设计
-- Create table
create table SIGN_INFOMATION
(
  id          VARCHAR2(32) not null
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值