【问题标题】:How can I encrypt in java (android) and decrypt in php如何在 java (android) 中加密并在 php 中解密
【发布时间】:2018-04-08 22:57:13
【问题描述】:

我有一个 APP (Android) 和一个用 PHP 制作的服务。 我在他们之间发送信息,现在有一个安全问题,我需要非常加密数据。 我需要在 java 中加密,当我访问服务 (PHP) 时,我需要解密已经到达的内容。

在 JAVA 和 PHP 中是否有任何本机函数已经这样做了?

我在 Google 和 stackoverflow 中找到了一些示例,但没有在 PHP 中描述

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 这是一个非常广泛的问题。您需要端到端加密还是只需要传输层加密?你想使用共享密钥还是公钥加密? “非常加密数据”是什么意思?
  • 我找到了这个例子,我正在实现它,但我认为有些不同。 androidsnippets.com/…
  • 只是关于如何描述您的问题的建议,如果您能提供有关您正在实现的 ecpyt/decpt 的清晰信息以及您迄今为止尝试过的代码示例,我将非常棒。
  • 如果您只需要对传输中的数据进行加密,只需使用 HTTPS。

标签: java php android


【解决方案1】:

好的,第一,如果您认为加密或解密取决于任何特定语言,反之亦然,那么这不是真的。任何加密/解密都是一种适用于所有语言的概念,并且肯定会相互支持。

现在提出您的问题,据我所知,您正在寻找在 JAVA 中加密数据并在 PHP 中解密相同数据的方法。如果我错了,请纠正我。

下面我将分享可以帮助您设计/设置架构的流程/方法。

1) 假设您打算在应用程序中实现 MD5 加密/描述。

2) 在 Java 中,您可以通过内置或第三方 jar 实现所有公开可用的加密,只需创建实用程序类并创建带有所需字段的单独 bean,然后在 utils 类中添加所需的逻辑并将相同的信息传递给 bean。

3) 现在将 bean 数据传递给用 PHP 编写的 web-api(您更喜欢 get/post 的方法),大多数时候在 PHP 中它只是字符串。

4) 内部 PHP 代码以如下链接中描述的方式传递该信息:

Encp/Decp in php

最后只是按照下面的答案,我想它有点接近你正在寻找的东西。

注意:我使用 MD5 只是为了解释如何设置架构和启动基础,但在实际环境中避免使用 MD5,因为现在可以使用 n 数方式绕过这个,最好使用一些强大的 encpy/decpy 技术/三重DES、RSA、AES等算法。

Java and Php relation for encp/decpt

【讨论】:

  • 1. MD5 不是加密。 2.MD5是单向函数,无法恢复原始数据。 3. MD5 是一个糟糕的选择,因为加密具有功能,它本质上是不安全的。
  • 是的,但是根据问题,他需要了解 Java 和 Php 之间的工作方式,所以我使用 MD5 只是一个示例来解释如何启动瞄准工作流程。 MD5 是加密哈希函数,大多数开发人员都知道如何处理它,这就是为什么我选择 MD5 来快速了解整个工作的原因。
  • 你在帮助攻击者获取 MD5 信息,这真的是你的目的吗?您甚至没有在答案中提到MD5不应该用于新工作。好的,我知道有些组织故意提供糟糕的安全指导,但 IMO 这是一个糟糕的概念。
  • 感谢您指出我丢失的指针,更新的答案附有说明。现在说到重点,这不是我为攻击者提供简单服务的目标,但我的回答的目标是,人们快速了解如何设置基础架构,以便他/她可以快速开始。而为什么使用MD5,只是因为大多数人都知道这个东西。现在我也在我的回答中添加了信息说明,所以希望现在没问题。
  • 1.答案中的第一点毫无意义,因为没有“MD5 加密/描述”之类的东西。 2. 三重DES/DES 不应该在新作品中使用。 RSA 和 AES 的用途完全不同,它们是非对称和对称方法。
猜你喜欢
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
相关资源
最近更新 更多