Scala Base64 encode and validated decode
Scala
import java.nio.charset.StandardCharsets.UTF_8
import java.util.Base64
import scala.util.Try
def encodeBase64(text: String): String =
Base64.getEncoder.encodeToString(text.getBytes(UTF_8))
def decodeBase64(text: String): Either[String, String] =
Try(Base64.getDecoder.decode(text))
.map(bytes => new String(bytes, UTF_8))
.toEither
.left.map(error => s"invalid base64: ${error.getMessage}")