Jasypt 无法加密密码中的指数幂 (^) 符号

Jasypt not able to encrypt exponential power (^) symbol in password

我正在尝试使用以下方法加密以下密码 my^Password

.\encrypt.bat input=j!p^RVKvt3LaHw37 "password=<my_salt>" "algorithm=PBEWITHSHA256AND256BITAES-CBC-BC" providerClassName=org.bouncycastle.jce.provider.BouncyCastleProvider

当我解密加密字符串时,指数符号^消失了。我也注意到其他一些符号存在这个问题。

.\decrypt.bat 'input=<encrypted-string>' "password=<my_salt>" "algorithm=PBEWITHSHA256AND256BITAES-CBC-BC" providerClassName=org.bouncycastle.jce.provider.BouncyCastleProvider

输出: myPassword

谁能帮忙解决这个问题?我已经搜索了互联网,但找不到任何解决方案。

事实证明,windows powershell 有一个错误,它无法正确地对包含特殊字符的密码进行编码。我在命令提示符下执行了完全相同的命令,效果非常好。