当前位置: 首页 > 知识库问答 >
问题:

关于前端(小程序)数据加密一般用什么方法?

何浩荡
2023-12-26

关于前端(小程序)数据加密一般用什么方法?
image.png
image.png
给一个医院做的小程序,充值的时候本来选的是充值200元,但检测机构用的抓包软件把这数据在提交接口之前随便写成一个金额,如10元,那这就按10元支付成功了,这是充值,不是那种订单之单的,所以前后端金额没办法对比,为了解决这个问题,领导叫我前端和后端同时用一种加密方式加密,然后对比,但我之前没有做过前端加密这块,前端加密一般用什么办法?有人遇到过没?

关于前端(小程序)数据加密一般用什么方法?

共有7个答案

徐星阑
2023-12-26

又读了读题,小何同学正解。
用官方API安全一节给出的示例,应该是最佳实践了。
说到底,是用秘钥【保护数据】。
因为 A - B 之间的金额,无法通过第三方 C 对账。

涂煌
2023-12-26
  • 抓到https的包,一般工具会使用类似中间人的方法;微信应该校验证书的,所以检查下开发工具是否开启跳过证书校验或者检查证书配置才导致别人可以抓到包;
  • 如果要加密,可以参考这个方案API安全|微信开发文档(对称加密+签名) 这也是上面小何同学给出的答案
江渊
2023-12-26

请求体加密或者增加参数签名认证,小程序的js再加个混淆,要再夸张点就弄个行为验证

夏侯元忠
2023-12-26
  • 首先,订单金额绝对不应该由前端传参决定。
  • 然后可以通过对请求参数签名来防止参数被篡改,可以参考API安全|微信开放文档这篇文章,前后端配合实现一套加解密以及签名协议。
淳于升
2023-12-26

微信支付回调成功后,会有金额字段和订单号,把这金额字段当作充值金额,不需要对比是否和数据库里存的金额是否一致,因为金额已经在前端被篡改。

韦思淼
2023-12-26

根据以前做银行支付软件的经验, 确实需要加密的, 但是并不是前端开发来做, 或者说是前后端一起做的, 前台会有专门的支付安全控件, 后台会做详细的校验.

前台的安全校验开发实际是是用购买的安全控件发送交易接口

郭乐意
2023-12-26

不需要加密, 用https就好了.
看页面上用的是就是https, 不用处理.

只要你的服务器能和支付接口的金额对的上就行.

页面上选多少充值没意义, 服务器收到的请求才算数.

 类似资料:
  • 我们经常看到api的描述文件都用.rst结尾: 请问, .rst 文件一般是什么文件?

  • 一对亚马逊lambda会对称地加密和解密一小块应用数据。我想用亚马逊KMS来方便这一点,因为它解决了秘密存储和密钥旋转的问题,然后一些。 Amazon KMS开发人员指南指出: 这些操作是为了加密和解密数据密钥而设计的。他们在加密操作中使用AWS KMS客户主密钥(CMK),并且不能接受超过4 KB(4096字节)的数据。虽然您可以使用它们来加密少量数据(如密码或RSA密钥),但它们并不是为加密应

  • 我一直在为Linux寻找一个好的加密git凭证助手(可以以加密的方式存储密码,并在以后检索它们,符合git-credential协议),我真的很惊讶,似乎没有太多出现。 在我所看到的所有git文档和相关git凭证文档中,他们甚至都没有提到这种东西的存在。它总是提到适用于Mac的osxkeychain,但如果您正在运行Linux,它只会将您重定向到解释如何使用“缓存”作为助手的文档。一些参考资料提到

  • 1、选取适合的字段属性 为了获取更好的性能,可以将表中的字段宽度设得尽可能小。 尽量把字段设置成not null 执行查询的时候,数据库不用去比较null值。 对某些省份或者性别字段,将他们定义为enum类型,enum类型被当做数值型数据来处理,而数值型数据被处理起来的速度要比文本类型块很多。 2、使用join连接代替子查询 3、使用联合union来代替手动创建的临时表 注意:union用法中,两

  • 我们的应用程序(最初通过web访问,后来通过移动应用程序和/或桌面应用程序访问)有一个应用程序服务器,该服务器提供服务,内部API将由所有endpoint驱动(React for web,iOS/Android for mobile in future.etc.)。

  • 我正在使用OpenSSL RSA API用服务器的公钥加密数据。 我使用的是,所以RSA应该可以轻松地用256字节的公钥加密255字节。但我收到了: 我改变dl(data_lenght)到256(只有1),我得到了这个: 我知道RSA可以用256个密钥编码255个字节。有什么问题吗?