gpt4 book ai didi

java - 在 NetSuite Suitescript 中加密并在 java 应用程序中解密

转载 作者:行者123 更新时间:2023-12-02 03:37:55 25 4
gpt4 key购买 nike

我需要使用 SuiteScript 加密字符串,将其发送到用 Java 编写的 Web 服务,并在那里解密。

使用 SuiteScript,我可以毫无问题地进行加密和解密。但是当我在java中使用相同的 key 时,我会得到不同的错误。

var x = "string to be encrypted";
var key = 'EB7CB21AA6FB33D3B1FF14BBE7DB4962';
var encrypted = nlapiEncrypt(x,'aes',key);
var decrypted = nlapiDecrypt(encrypted ,'aes',key);

^^工作正常^^

Java代码

final String strPassPhrase = "EB7CB21AA6FB33D3B1FF14BBE7DB4962"; //min 24 chars

SecretKeyFactory factory = SecretKeyFactory.getInstance("DESede");
SecretKey key = factory.generateSecret(new DESedeKeySpec(strPassPhrase.getBytes()));
Cipher cipher = Cipher.getInstance("DESede");

cipher.init(Cipher.DECRYPT_MODE, key);

String encrypted = "3764b8140ae470bda73f7ebed3c33b0895f70c3497c85f39043345128a4bc3b3";
String decrypted = new String(cipher.doFinal(DatatypeConverter.parseBase64Binary(encrypted)));
System.out.println("Text Decryted : " + decrypted);

使用上面的代码,我得到一个异常javax.crypto.BadPaddingException:给定的最终 block 未正确填充

key 是使用 openssl 生成的

openssl enc -aes-128-ecb -k mypassphrase -P

最佳答案

看起来您正在使用 AES 加密,并使用 DES 解密。我认为密文需要使用与加密相同的对称算法来解密。

关于java - 在 NetSuite Suitescript 中加密并在 java 应用程序中解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31533080/

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