网络支付加密思路

本文探讨了在网络支付中确保数据安全的问题,提出通过加密请求数据和生成唯一验证串来防止数据篡改。客户端使用对称加密算法如AES或DES对请求数据加密,并附加通过MD5等哈希函数生成的验证串,服务器端解密并校验验证串以确保数据完整性。同时指出,加密算法和验证串生成规则的安全存储和客户端加密过程的保护也是关键环节。
摘要由CSDN通过智能技术生成

问题引出

在C/S模式中, 客户端想要支付就要通过网络向服务器端发送请求,

那么问题来了, 在通过网络传输过程中的数据是可以进行拦截和修改伪造的,

也就说黑客可以拦截通过某个路由的所有数据,比如你的支付申请, 任意修改后再发送到服务端, 

服务端收到的是你的支付申请, 你购买了1双鞋, 被黑客修改成了100000双鞋,

显而易见支付, 支付端是要验证判断请求是否正确, 是否被修改,

所以对于重要的网络请求需要加密 , 使得请求数据不容易被修改,

即使被修改以后也能被发现 , 进而拒绝该请求

思路

我们最直接的想法就是

客户端对请求数据 按某种算法加密, 发送到服务器端后对 加密算法逆向得到解密数据

(这种加密算法称之为对称加密算法, 即可加密也可解密),

  • 比如对请求"123"做乘3加密得到加密后数据"369", 客户端得到"369"再用相应的解密算法除3解密得到有效数据"123",
  • 这样黑客截获到"369"不知道加密解密算法 进而不知道"369"的意义,不能改成自己想要的数据

这种加密算法如aes(适合对小量数据加密,计算量相对大), des(适合对文件加密), 算法是公开的,参数是自己自定义的, 如*3算法里的3,也就是密钥

但是这样存在这样的问题:

  1. 通过规律猜测推测出加密算法,这样加密也就失去了作用
  2. 虽然不能任意修改,但是我可以捣乱,把"369"改成"399"客户端解密后得到"133", 你购买了1双鞋, 被黑客修改后成了100000双鞋,同样会造成损失, 也是不安全的

加密升级:

也就是说

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值