当前位置: 首页 > 知识库问答 >
问题:

JavaScript加密与PHP解密

苏高远
2023-03-14
    null

encrypt=cryptojs.aes.encrypt(“helloworld”,“test”,{mode:cryptojs.mode.cbc,padding:cryptojs.pad.zeropadding});

  • 解密(PHP)

$IVSIZE=mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_CBC);
$iv=mcrypt_create_iv($ivsize,MCRYPT_RAND);
mcrypt_decrypt(MCRYPT_RIJNDAEL_256,'test',$encrypt,MCRYPT_MODE_CBC,$iv);

共有1个答案

有宏峻
2023-03-14

正如在上面的注释中所指出的,SSL是您能够有效保护任何数据的唯一方法,因为

  1. 没有SSL,任何人都可以对您的Javascript或网页进行更改或监听,因此无法信任它。
  2. JavaScript确实不太允许基于非字符的数据。(即散列、编码视频等),因为所有数据通常在内部无人值守地转换为utf-16或utf-8。

这最后一点很可能是造成你问题的原因。每一端的AES库加密,就好像它可以访问二进制数据一样,然而,Javascript告诉传输加密的数据是某个字符集。您可能希望尝试utf8decode或使用iconv()将其转换为真正的二进制数据。

 类似资料:
  • 问题内容: 我正在使用JavaScript加密用户密码,如下所示: 它工作正常,但现在我正尝试在服务器端的PHP中像这样解密: 它根本不起作用,解密后的密码字符串看起来很奇怪: 有用的注释后,这是我的JavaScript代码的当前状态: 我正在将saltHex和CipherTextHex发送到PHP服务器,并且正在使用mcrypt_decrypt(),如下所示: 仍然无法使用此更新的代码。 有人可

  • 为什么PHP解密方法不能解密用Java加密的数据? 当我仅使用Java或仅在PHP中加密和解密数据时,一切工作都很好。 加密的数据被发送到服务器,在那里我尝试用PHP openssl_decrypt对其进行解密 不幸的是,openssl_decrypt返回一个空字符串。

  • 我在基本加密/解密方面遇到了麻烦。我到处找了一个可行的例子,但还没有找到一个可行的例子。 -我将使用php加密,使用cryptojs解密,以获得一个小的安全层

  • 问题内容: 我想使用公共密钥加密技术在JavaScript中加密,在PHP中解密。我一直在尝试找到可以完成此任务的库,但是遇到了问题。 我目前正在使用 openpgpjs ,但是我需要所有浏览器的支持,甚至测试页在唯一列为受支持的浏览器(Google Chrome)上都有错误。 关于最终目标的注意事项: TCP连接已受SSL保护。 此保护层的主要目的是防御有意或无意的Web服务器日志记录,崩溃转储

  • 我目前正在将我的C#AES-GCM密码代码转换为PHP。然而,经过一些研究,我的PHP系统加密的文本不能被C#one解密。我想知道这两种代码是否有区别: C#带弹跳壳: 下面是PHP系统: 有没有人能告诉我,PHP代码中是否有遗漏或不同之处,导致它们的工作方式有所不同?或者PHP函数和BouncyCastle函数之间是否存在某种内部差异,从而使它们有所不同?

  • 问题内容: 我找到了在PHP中对字符串进行编码/解码的示例。起初它看起来非常好,但是不会起作用:-( 有人知道问题出在哪里吗? 结果是: 加密: 解密: 问题答案: 并且 在您的代码中未定义。查看有效的解决方案( 但不安全! ): 停! 这个例子是 不安全的! 不要使用它! **但是此代码中还有其他问题,使其变得不安全,尤其是使用ECB(这不是_加密_模式,只能在其上定义加密模式的构造块)。