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

81楼
奶瓶 2022-8-31
什么东西[滑稽]
83楼
莫刘lz王 2022-9-2
那个,我直接看图2,我有一个问题,很简单的语句,不过我怎么看不懂编程语言,或者说你是怎么记住这些公式的,我学过一段mysql和python,都是学了刚开始的一点点,英语不好记不住啊,单个可以分析一下,连一起有时候就看不懂了
84楼
Pluie 2022-9-2
这个其实是经验问题,不需要特地去背,刚开始写的时候,肯定是经常查阅文档的,写久了就自然而然熟能生巧
85楼
Pluie 2022-9-6
数据库要配置成你自己的呀
86楼
Pluie 2022-9-6
报错是你没有对应名称的数据库,你再检查下吧
热门曝光结束~
88楼
Pluie 2022-9-12
[玫瑰][玫瑰][玫瑰]谢谢支持啦
89楼
昵称472648 2022-9-15
楼主 那怎么具体的添加一个API来使用啊 教程里只是来操作数据库 我想添加一个API
90楼
Pluie 2022-9-15
图四就是呀,详细代码也给出了,仔细看教程哈[玫瑰]

评论

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

    18

  • 帖子

    426

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0637s Mem:2145Kb