gpt4 book ai didi

java - BouncycaSTLe PBEWITHSHA256AND256BITAES-CBC-BC Javascript 实现

转载 作者:行者123 更新时间:2023-12-01 15:44:06 24 4
gpt4 key购买 nike

我尝试过在 Javascript 中对字符串进行编码以在 java 服务器上进行解码,但未能成功。我们想使用 bouncycaSTLe 算法 PBEWITHSHA256AND256BITAES-CBC-BC 来解码服务器端。

我尝试过使用 crypto.js使用以下代码进行编码:

  var encrypted = Crypto.AES.encrypt("it was Professor Plum in the library with the candlestick", 
key,
{ mode: new Crypto.mode.CBC });

var encryptedString = Crypto.util.bytesToHex(Crypto.charenc.Binary.stringToBytes(crypted));

但是这在服务器上无法正确解码,我猜测它与 SHA256 有关,但我无法弄清楚它将消化什么并且找不到任何文档。有谁知道如何在javascript中执行加密?

最佳答案

你需要在两端做同样的事情。您需要相同的 key 。您需要相同的模式 (CBC)、相同的填充(使用 PKCS7)以及相同的 IV。

在通过 SHA-256 运行密码后,通过显示十六进制来检查您使用的实际 key 在两端是否相同。还要检查 IV 的十六进制。不要使用任何默认值,但明确选择要使用的模式和填充。

如果您认为 PBE/SHA-256 出了问题,那么您可能需要查看文本密码是如何转换为字节的。在传递给 SHA-256 之前再次检查两侧的十六进制。将文本转换为字节是常见的错误来源。您需要非常确定 stringToBytes() 正在做什么,并且您在 Java 端使用的任何内容都完全相同执行相同的操作。

关于java - BouncycaSTLe PBEWITHSHA256AND256BITAES-CBC-BC Javascript 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com