【问题标题】:Generate encrypted string with php, decrypt with javascript用php生成加密字符串,用javascript解密
【发布时间】:2014-02-08 00:54:07
【问题描述】:

我有一个字符串,这个字符串需要使用 PHP 进行编码。然后通过 GET 将其发送到一个站点,并需要通过 Javascript 在该站点上对其进行解码。

有人可以解码字符串完全可以,但我需要没有人能够生成新的编码字符串。

基本上,每个人都应该能够毫无问题地解码字符串,但没有人应该能够编码新字符串。

举个例子来说明:

我的字符串是“hello world”并以某种方式对其进行加密并得到“asdflpausoiwjuh”作为结果。 然后我把这个结果发送给你们,你们知道如何解密它来阅读消息。但是你们中没有人能够发出可以以相同方式加密的新消息。

必须:

  • 用 PHP 加密
  • 用 Javascript 解密
  • 加密前后字符串的长度必须保持不变,或者仍然保证可以通过 GET 传递到页面的相当短的字符串。
  • 我一定是唯一能够生成以这种方式加密的消息的人。

编辑: 加密文本的有效期约为一个小时,实际上“破解”系统并没有真正的兴趣。所以安全不是我的首要任务。我真正需要的是 99% 的人无法生成字符串,而 1% 的人应该很难弄清楚如何去做。对我来说这已经足够安全了。我的问题是,无论我想将什么放入 javascript 代码中,都会使我想到可以反向工程的东西。

【问题讨论】:

  • 如果有人知道如何解密字符串,为什么他们不能反过来,即加密字符串?
  • 你应该研究一下非对称加密算法。
  • 通常它是倒置的..每个人都可以加密,只有一个解密..我需要它的另一种方式..
  • 等长要求可能很难实现。也许 crypto.stackexchange.com 是发布您的问题的更好地方。
  • @user2452250 非对称加密允许两者。根据您的要求,您使用私钥加密,每个人都可以使用公钥解密。

标签: javascript php encryption


【解决方案1】:

您可能会查看一些关于公钥密码学的入门级解释。你打算做的是一个经典的例子,只是反过来。 ;)

您真正想做的很可能是签署一条消息。这意味着,您要确保任何消息都来自您并且只有您自己。它是公开的,不需要加密,但您希望收件人知道它在传输过程中没有被更改。

这是一个帮助您入门的链接:

http://en.wikipedia.org/wiki/Digital_signature

【讨论】:

  • 是的,但我需要保留字符串的长度。您是否可以提供一些示例代码来处理一些事情?我不知道从哪里开始。
猜你喜欢
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
  • 2019-06-29
  • 1970-01-01
相关资源
最近更新 更多