最简单的双向加密方法,可用于PHP服务器和iOS客户端

4
仅供个人使用:我正在创建并托管一个 PHP 应用程序在我的 Web 服务器上,从 MySQL 数据库检索我各种账户的密码,并将其提供给客户端即 iPhone 应用程序,该应用程序也应能够向数据库插入新密码。

我想在发送这些数据之前对它们进行加密,而不是以明文形式通过互联网发送,但我对加密非常陌生,所有可能的加密算法让我感到有些迷茫。

尽管 PHP 上的 mcrypt 函数似乎非常灵活并且与许多加密算法兼容,但我在 iOS 上找不到类似的东西。

我想要的是一些易于实现且适用于 PHP 和 Objective-C 的算法,只需给定一些明文和加密密钥(同时存储在服务器和客户端上),即可加密和解密明文。

有关服务端/客户端通信的进一步细节,我所考虑的内容如下:

  1. 客户端发送一个请求,包含某个特定客户端应用程序 ID 和需要返回密码的服务
  2. 服务器检查是否允许该客户端 ID 获取该信息
  3. 如果客户端被允许,则服务器查询数据库并检索密码
  4. 服务器加密密码并将其发送到客户端
  5. 客户端解密密码并向用户显示密码

这只是供个人使用,所以我不需要无法破解的安全性,因为可能没有人会想要破解它。我只是出于研究目的和开始学习加密而做这件事。我知道这绝对不安全。

你们是否了解任何适用于 PHP 和 Objective-C 的易于使用的双向加密算法,可以用于在服务器上加密密码并在 iOS 上解密它们?

1个回答

2
不要自己搞加密,你只需要使用SSL链接,例如:
https://yourserver.example.com/getpasswords.php
    ^---

SSL可以免费提供加密功能,并且额外提供iOS客户端与您的服务器连接时,可以相对确信连接对象是您的服务器,而不是某个恶意虚假服务器。


SSL的“难”部分是配置服务器。一旦你解决了这个问题,你只需要开始使用https而不是http URL。 - Marc B
所以这只涉及到Apache,没有涉及到PHP。是这样吗? - BigLex
一般来说,PHP 中不会有任何变化。它只是看到一个 HTTP 请求进来,并对其进行响应。Apache 将处理所有 SSL 业务。 - Marc B
好的,我会搜索如何在我的Web服务器上配置SSL!谢谢您先生! - BigLex
我在服务器上设置了SSL并使一切正常,但有些事情需要问你。为了尽可能地增强安全性,我应该将证书的副本捆绑到应用程序中,并将其与服务器提供给客户端的证书进行比较吗? - BigLex
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接