【发布时间】: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