我已经有了java加密代码。现在我想使用我的服务器上的 API。即使在尝试了各种教程和示例代码之后,我也无法成功解密哈希值。
我知道固定盐和静脉注射根本不推荐。但为了简单起见并为了理解问题,我将盐和IV保留为“00000000000000000000000000000000”;
Java 加密后的哈希 = "XjxCg0KK0ZDWa4XMFhykIw=="; 使用的私钥=“Mayur12354673645”
有人可以帮我使用 dart 解密上面的字符串吗?
JAVA代码
public String encrypt(String salt, String iv, String passphrase,
String plaintext) {
try {
SecretKey key = generateKey(salt, passphrase);
byte[] encrypted = doFinal(Cipher.ENCRYPT_MODE, key, iv, plaintext
.getBytes("UTF-8"));
return base64(encrypted);
} catch (UnsupportedEncodingException e) {
throw fail(e);
}
}
public String decrypt(String salt, String iv, String passphrase,
String ciphertext) {
try {
SecretKey key = generateKey(salt, passphrase);
byte[] decrypted = doFinal(Cipher.DECRYPT_MODE, key, iv,
base64(ciphertext));
return new String(decrypted, "UTF-8");
} catch …
Run Code Online (Sandbox Code Playgroud)