在php中加密,然后使用相同的密钥在javascript中解密

在php中加密,然后使用相同的密钥在javascript中解密,php,javascript,encryption,key,Php,Javascript,Encryption,Key,问题: 我需要php使用密钥加密,然后javascript使用相同的密钥解密 原因: 试图在我的AdobeAIR应用程序中加密99%的javascript 到目前为止,我所知道的是:在购买并下载程序的第一次运行后,客户端将其mac地址发送给服务器。然后php使用mac地址对一个txt文件进行加密,这个txt文件实际上是一个html文件,包含所有javscript(基本上是程序的其余部分),然后存储在客户端。运行该程序不需要进一步的internet连接。每次启动时,未加密的javascript将使

问题: 我需要php使用密钥加密,然后javascript使用相同的密钥解密

原因: 试图在我的AdobeAIR应用程序中加密99%的javascript

到目前为止,我所知道的是:在购买并下载程序的第一次运行后,客户端将其mac地址发送给服务器。然后php使用mac地址对一个txt文件进行加密,这个txt文件实际上是一个html文件,包含所有javscript(基本上是程序的其余部分),然后存储在客户端。运行该程序不需要进一步的internet连接。每次启动时,未加密的javascript将使用mac地址对存储的文件进行解码,然后通过htmlLoader.loadString的方式显示该文件。这样,发出的每个程序副本都将与其机器相结合,并且仅与该机器相结合。不会在其他机器上打开。我知道它很脆,但对我来说已经足够了。除加密方法外,所有方法都经过测试并正常工作

我已经找到了用javascript和php加密/解密的方法,但没有密钥。钥匙就是钥匙

非常感谢。

您会喜欢RSA:

快速的谷歌搜索也产生了一个与你的问题几乎完全相同的问题:


基本上,您希望从MAC地址派生公钥,因为它是唯一的共享信息。这确实很容易破解(攻击者所需要的只是客户端的MAC地址,如果他们使用WiFi,很容易获取,而且地址几乎保持不变),但是。

不仅仅是“a”键,它将是该文档的唯一键。这是一个离线程序,每次下载都是为该计算机加密的。是的,拥有该程序有效副本的攻击者可以提取该信息。如果它是另一台计算机上的无效副本,则mac地址将不起作用。这不是为了在下载过程中进行保护,而是为了使非代码读取用户无法将程序复制到另一台计算机,这对于本项目来说是足够安全的。试图保护一个程序不受我们在这些论坛上得到建议的人的影响是毫无意义的。如果提取信息并重写代码以运行它,它将很快过时。在程序更新时,使用相同的方法,给定的mac地址将在服务器端验证,并且只允许2次完全相同的更新。但是,感谢您提供有关RSA的信息,我即将试用它。

这里可能有一些有用的东西:查看您发布的链接,看起来我需要从php到javascript的相反版本,以及比密码更大的文本。此外,我不需要公钥/私钥,只需要一个密钥。我想我可以在两者之间做出逻辑上的区别。我甚至不需要创建密钥,只需按原样使用mac地址。这是对非对称加密的不当使用