gpt4 book ai didi

java - Java 中 Cipher.dofinal(byte[]) 的返回值是什么意思?

转载 作者:行者123 更新时间:2023-12-01 23:28:19 25 4
gpt4 key购买 nike

我有一个使用 AES/CBC/PKCS5Padding 处于加密模式的 Cipher aesEncryptCipher

为什么以下两个函数返回两个不同的东西? encrypt2的返回值是什么意思?根据javadoc ,它应该返回“带有结果的新缓冲区”,我认为这意味着“加密字节”。

public byte[] encrypt(byte[] rawBytes) {
aesEncryptCipher.doFinal(rawBytes);
return rawBytes;
}

public byte[] encrypt2(byte[] rawBytes) {
return aesEncryptCipher.doFinal(rawBytes);
}

使用一些初始化 vector 和 key ,

encrypt("xxx".getBytes("UTF-8"));
returns [120, 120, 120]

encrypt2("xxx".getBytes("UTF-8"));
returns [-76, 22, 46, 63, -16, -29, 56, -85, -115, -77, 11, 16, -56, 95, 20, 29]

最佳答案

第一个返回原始的未加密字节(输入),第二个返回加密结果(输出)。

关于java - Java 中 Cipher.dofinal(byte[]) 的返回值是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695201/

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