返回

开发反被套娃加解密,肝到公司看保安的奇妙经历

后端

从业几年以来,我自认还算一名合格的程序员,虽然撸代码的水平没有卷得太过夸张,但至少能够凭借自己的经验比较轻松地解决工作中遇到的问题。

前两天工作中就遇到一件奇特又有趣的事情。那天,刚撸完2两代码,正准备掏出手机摸鱼放松放松,只见老大朝我走过来,并露出一个“善意”的微笑。

老大对我说:“兴伟呀,xx项目有于安全问题,需要对接口整体进行加密处理,你这方面比较有经验,就给你安排上了哈,看这周内能做完就做完吧!”

我当时还纳闷,老大平时也不苟言笑,咋突然这么温和了?我连忙说,“好嘞老大,保证完成任务。”

想着就是一个简单的加解密,就算再耗时,3天内也能搞定,于是赶忙放下手机打开电脑,撸起袖子准备开干。

打开项目文件,我浏览了整个项目结构和代码,发现接口逻辑清晰,并没有什么复杂的地方,加解密的实现似乎并没有我想的那么困难,看来是我杞人忧天了。

我很快就设计了一个加密方案,并开始在项目中实现它。经过一夜的奋战,我把加密方案写完了,自以为终于可以松一口气了。

然而,第二天早上我来到公司,打开电脑一运行项目,发现接口加密处理后,前端竟然无法正常访问了。这是怎么回事?我赶紧联系了前端同事,询问他们那边的情况。

前端同事告诉我,他们那边收到的数据是乱码,无法解析。我当时就懵了,明明我的加密算法没有问题呀,难道是前端那边出了问题?

于是我让前端同事把他们那边的代码发给我,我仔细检查了一遍,发现他们的代码并没有问题。这下我彻底迷茫了,问题到底出在哪里?

正在我百思不得其解的时候,老大突然出现在我身后,说:“咋回事呀,你不是说3天内能搞定吗,怎么现在还没搞定?”

我连忙解释说,我按照他的要求加了加密方案,可是前端那边无法正常访问接口了。

老大一听,皱了皱眉头,说:“这不可能啊,你的加密方案有问题吧?你先检查一下,看看是不是哪里写错了。”

我只好又把代码检查了一遍,但还是没有发现任何问题。我正准备向老大汇报情况,突然,我想起了一个可能性。

会不会是前端和后端的加密算法不一样?我赶紧联系了前端同事,询问他们那边用的加密算法是什么。结果,前端同事告诉我,他们那边用的加密算法跟我这边的不一样!

原来,我们两个团队对接口加密的需求理解错了。前端那边以为我们要用他们那边现有的加密算法,而我以为我们要用我们这边现有的加密算法。

我赶紧把我的加密算法改成前端那边用的加密算法,然后重新运行项目。这下好了,接口加密处理后,前端那边终于能够正常访问了。

老大看到项目终于搞定了,也松了一口气。不过,他也批评了我,说我不应该对需求理解错,应该在开始写代码之前就先跟前端那边确认清楚。

我虚心接受了老大的批评,也从中吸取了教训。以后在做项目的时候,我一定会更加仔细地确认需求,避免出现类似的错误。

这次经历虽然让我肝到了公司看保安,但也让我学到了很多东西,比如需求确认的重要性,以及团队合作的重要性。