【原创】从零开始实现一个简单的加密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

沙发
Pluie 2022-8-30
【补充】最终源码按图八为准,加密文件也只保留了有用部分,有需求自己引入即可
可以的,支持一下,热门奖励
地板
Pluie 2022-8-30
[玫瑰][玫瑰][玫瑰]谢谢支持(๑´∀`๑)
4楼
Pluie 2022-8-30
【补充】加密文件可以直接用,但是接口文件要根据自己的数据库和数据表修改配置
6楼
云哟哟 2022-8-30
怎么说呢,有点搞不太懂[泪]
7楼
云哟哟 2022-8-30
大佬大佬大佬
8楼
WD浅影 2022-8-30
支持一下.
9楼
Pluie 2022-8-30
[玫瑰]具体疑惑的地方可以指出
10楼
Pluie 2022-8-30
[玫瑰][玫瑰][玫瑰]感谢支持

评论

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

    18

  • 帖子

    426

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0537s Mem:2152Kb