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

61楼
陌讼蜷 2022-8-30
感谢楼楼提供的思路[滑稽]
62楼
Pluie 2022-8-30
[玫瑰][玫瑰][玫瑰]客气了,我这个也只是简单实现
63楼
犀犀利 2022-8-30
怎么说呢,有点搞不太懂[泪]
64楼
Pluie 2022-8-30
有PHP基础,会操作数据库基本就能看懂啦,不知道是不是知识疏漏?
65楼
白可可 2022-8-30
大佬,收徒弟吗
66楼
白可可 2022-8-30
多谢[爱心][爱心][爱心][爱心]
67楼
陌讼蜷 2022-8-30
哈哈哈[玫瑰]
68楼
Pluie 2022-8-30
[玫瑰]客气了,我个人应该还没到收徒的水平吧,有疑问一起讨论就行啦
69楼
白可可 2022-8-30
我不配[汗][汗]我要做你小弟
70楼
Pluie 2022-8-30
!!!∑(°Д°ノ)不必这样妄自菲薄,还是维持正常关系吧,氛围也宽松点

评论

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

    18

  • 帖子

    426

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.2087s Mem:2139Kb