gpt4 book ai didi

java - 将Java代码转换为NodeJS - 加密方法

转载 作者:行者123 更新时间:2023-12-01 11:18:02 24 4
gpt4 key购买 nike

我想在NodeJS中复制JAVA加密代码。

private String DEFAULT_KEY = "abcdwAYserXbzcSeqL/zPg==";
private String text = "abc";
Base64 base64decoder = new Base64();
byte[] raw = base64decoder.decode(key);

SecretKeySpec fSecretKeySpec = new SecretKeySpec(raw, "AES");

Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, fSecretKeySpec);
byte[] encrypted = cipher.doFinal(text.getBytes());

Base64 base64encoder = new Base64();
result = base64encoder.encodeToString(encrypted);
System.out.println("result: "+ result);

上述代码生成的加密代码为:ZkojvMTW+9EEK0owxMuA7A==

我在 NodeJS 中尝试了几种方法。它没有为我生成相同的代码。

我尝试过以下代码。

var bKey = new Buffer('abcdwAYserXbzcSeqL/zPg==', 'base64');
var cipher = crypto.createCipher('aes-128-ecb',bKey);
//cipher.setAutoPadding(auto_padding=false);
var crypted = cipher.update('abc',null,'base64');
crypted+=cipher.final('base64');
console.log(crypted);

有人可以帮我吗?

最佳答案

您可能遇到这样的问题:带有两个参数的 createCipher 接受的是密码,而不是 key 。该密码在成为 key 之前首先通过 key 派生函数运行。

尝试使用createCipheriv方法,使用任何 IV 值。 ECB 模式不需要 IV,但至少您会使用 key 而不是密码。

关于java - 将Java代码转换为NodeJS - 加密方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560545/

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