Estoy tratando de codificar una matriz de bytes usando el paquete java Base64 en un javascript. El motor Javascript es Rhino.
A continuación se muestra el error en los registros.
java.util.concurrent.ExecutionException: javax.script.ScriptException: TypeError: Cannot call property getEncoder in object [JavaPackage java.util.Base64]. It is not a function, it is "object".A continuación se muestra el fragmento de código.
var md = java.security.MessageDigest.getInstance('SHA-256'); md.update(salt); var sha256Bytes = [] sha256Bytes=md.digest(new java.lang.String(givenPassword).getBytes('UTF-8')); var sha256Hash = java.lang.String(java.util.Base64.getEncoder().encode(sha256Bytes));No puedo resolver el problema aquí. Además, se importa el paquete java.util.Base64.*.
Importé la clase java.util.Base64$Encoder. Anteriormente lo estaba importando en java.util.Base64.Encoder. No estoy seguro de cómo $ marca la diferencia en comparación con un '.' . Pero supongo que mi aplicación importa la clase estática de esta manera.