【原创】从零开始实现一个简单的加密API

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-8-30

[礼物]成品见文末,可直接白嫖

近期求助分区经常看到类似需求,所以干脆出一贴统一回复吧

为了通俗易懂,选择容易上手的php,主要是学习思路,会了后移植成其他语言都是没问题的

[彩虹]运行环境
mysql5.7+
php7.3+(配置记得打开pdo,不会自行百度)

首先先建立个简单的数据表,并添加测试数据【图一】
注意不要明文传输和储藏

然后开始写一个最简单的秘钥算法(教程我就不写非对称加密了,要嫌太简单可自行完善),可以插入注册逻辑中,mt_rand生成随机数,base64加密用户名(注册肯定要限制重复用户名,以此保障key唯一性)

[灯泡]算法参考【图二】(其实真正有用的就两行)

省略了添加数据库的部分,毕竟只是介绍算法,数据库操作就不赘述了,自己在用户注册时添加key字段即可

加密后效果图如【图三】

然后就到了接口逻辑了,新建一个api文件,内容如【图四】(如果模糊可以去文末源码地址)

简单来说就是匹配key(每个用户拥有唯一的key)找到用户,获取该用户当前余额,扣除单次调用费用,更新数据表即可

现在我们来浏览器模拟调用一下【图五】

调用成功,并且数据库得到更新【图六】

然后测试不加key,提示调用失败【图七】

至于显示余额什么的更简单了,输出下money变量即可

最后改进下,写成预处理语句,防止sql注入【图八】

[礼物]我将代码开源了,可直接【白嫖】

本帖含有隐藏内容,请您 回复 后查看


[灯泡]过于简陋,仅供参考,建议各位凯粉如果要用到实际项目上,先自己顺着思路完善一下,例如restful风格接收参数,(主要指对接到laravel,tp的项目),对于其他语言实现的后端,暂时只能你们自己实现咯

[彩虹]那么本文就到此结束啦,近期较忙,随缘上线,随缘发帖,还请见谅[茶杯]

[彩虹]pluie
[彩虹]2022-08-30

91楼
昵称472648 2022-9-15
就是我想添加一个API链接来调用 每次调用这个API会像这样减少金额
92楼
昵称472648 2022-9-15
希望楼楼可以出一套完整的带前端的调用API减少金额的源码[玫瑰]
93楼
Pluie 2022-9-15
哦,要前端可视化操作么,那要等我有空了续,可能下周吧,到时候我出完了回复你哈
94楼
昵称472648 2022-9-15
楼楼我想要一套完整的
95楼
Pluie 2022-9-15
₍˄·͈༝·͈˄*₎◞ ̑̑完整可能得下月了,这个月有点小忙
96楼
昵称472648 2022-9-15
楼主 可以有常找你吗 给你手工费 帮忙做一个
97楼
Pluie 2022-9-15
这个小功能我就发帖免费公布了,不过这个月确实抽不出太多多余时间了,快的话可能下周,慢的话,得下月了
98楼
昵称472648 2022-9-15
呜呜呜 我着急用 我给你玛尼 你帮忙做一个吧
99楼
Pluie 2022-9-15
主要确实没空,我手上还有三个单子没做,正在做的也有俩了,再加上业务需求,确实没啥时间
100楼
小敏 2022-12-19
这个可以弄封装接口吗

评论

登录后才可发表内容
  • 主题

    18

  • 帖子

    426

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0825s Mem:2147Kb