美文网首页
报文加密和签名设计

报文加密和签名设计

作者: 乐傻驴 | 来源:发表于2017-11-27 22:34 被阅读439次

        数据信息安全对我们每个人都有很重要的意义,从接触互联网起,我就明白了数据的重要性,我对数据安全的要求极其高,毫不夸张的说我的电话从来没有接过推销和骚扰电话,我本人很讨厌这种事情,对买卖数据和泄露数据的事情比较痛恨,自从做了金融以后,我对数据安全的认识又有了新的认识,接过几家支付通道后,对支付方面的业务有了了解,根据业务需要我开始写支付外放接口,说实话安全设计很让我头痛,最初使用的方式是对报文进行MD5加密,并得出一个签名串,签名串=MD5(原文&密钥),如果黑客截取报文,并篡改报文,那么服务端进行验签的时候,将不会通过,因为报文变化了,算出的签名串会改变,那么黑客需要重新计算出签名串,要算出签名串,需要知道加密规则,密钥,这种方式虽然保证了安全,但是存在一个问题,报文是暴露的,黑客并不更改数据,他只是记录保存你暴露的数据,这样也是非常危险的,经过借鉴和学习采用了另一种解决方案,为保证接口调用过程中报文的完整性,报文使用MD5 签名算法,为保证接口调用过程中对用户的敏感信息的保护,对涉及用户敏感信息(如账号,名称,手机号等)的域进行AES 加密

MD5 签名算法

        采用MD5(data+"&key="+md5Key).toUpperCase()方式签名,其中:md5Key为自己规定的MD5 签名密钥。最后将获取到的签名串转换为大写。设所有发送或者接收到的数据为集合M,将集合M 内非空参数值的参数按照参数名ASCII 码从小到大排序( 字典序),得到字符串,使用URL 键值对的格式( 即key1=value1&key2=value2 … ) 拼接成字符串data 。在data 最后拼接上key 并对其进行MD5运算,再将得到的字符串所有字符转换为大写,得到签名值。

特别注意以下重要规则:
1.参数名ASCII 码从小到大排序(字典序);
2.如果参数的值为空不参与签名;
3.参数名区分大小写;
4.验证调用返回或系统主动通知签名时,传送的签名字段参数不参与签名,将生成的签名与传送过来的值作校验;

AES 加密算法

        AES 加密模式为"AES/ECB/PKCS5Padding",待加密数据使用AESKey 加密之后做Base64得到加密数据。AESKey长度为16 位,由26个字母和数字组成。

注意:AES 密钥和MD5 密钥长度为16 位,由26个字母和数字组成。

博客原文地址:报文加密和签名设计

相关文章

  • 报文加密和签名设计

    数据信息安全对我们每个人都有很重要的意义,从接触互联网起,我就明白了数据的重要性,我对数据安全的要求极其高,毫不夸...

  • https 数字签名

    数字签名是附加在报文上的特殊加密校验和。 有以下两个用处 签名可以证明作者是编写了这条报文。只有作者才有这个私有密...

  • java.security 框架之签名、加密、摘要及证书

    和第三方系统对接时,需要对隐私数据进行加密,对请求报文进行签名等。加密算法分为单向加密、对称加密、非对称加密等,其...

  • 常见加密

    数字签名 客户端发送的信息包含3类型:数据报文 + HASH值 + 签名。数据报文:明文信息进行加密(对称或非对称...

  • iOS逆向攻防之应用签名、证书、描述文件以及手动/自动重签名

    接着上篇数字签名的内容,数字签名就是对原始报文数据的Hash值进行一次非对称的加密,数字签名主要使用来校验数据的;...

  • APIGateway中加密验签介绍

    需要提供给接口调用方一个用来加密的key,调用方根据key、一些其他参数以及业务参数进行加密,还需要对报文进行签名...

  • HTTPS详解

    一、前言 1.通信的加密(报文传输通道的加密,即对称加密算法协商过程的加密) 2.内容的加密(报文主体的加密,即对...

  • 加密和签名

    基本知识 ASCII(American Standard Code for Information Interch...

  • 基于aes的加解密方案

    对前端上送的报文进行解密和验签 1、前端上送的报文先进行整体加密,然后把整体加密的数据作为encodeFieldV...

  • iOS逆向-day9:签名机制

    概述:加密解密单向散列函数数字签名iOS签名机制 和 证书重签名 一、加密解密 1.1、常见的英文单词encryp...

网友评论

      本文标题:报文加密和签名设计

      本文链接:https://www.haomeiwen.com/subject/grhjbxtx.html