两种方法都可以正常工作,但是您正在加密不同的事物。
此处的字符串语法(
<<<)在字符串中添加了换行符。因此,Java输出是加密“ a”的结果,而命令行输出是加密“ a
n”(即,字符
a后跟换行符)的结果。
从命令行尝试:
printf "a" | /usr/bin/openssl enc -aes-256-cbc -base64 -K "b38b730d4cc721156e3760d1d58546ce697adc939188e4c6a80f0e24e032b9b7" -iv "064df9633d9f5dd0b5614843f6b4b059"
结果是
VTUOJJp38Tk+P5ikR4YLfw==,与您的Java结果匹配。



