gpt4 book ai didi

java - 使用 Scala 或 Java 进行 Base 64 编码

转载 作者:IT老高 更新时间:2023-10-28 20:54:25 24 4
gpt4 key购买 nike

我试过了:

val md = java.security.MessageDigest.getInstance("SHA-1")
val result = new sun.misc.BASE64Encoder().encode(md.digest("user:pass".getBytes))

结果:

md: java.security.MessageDigest = SHA-1 Message Digest from SUN, <initialized>
result: String = smGaoVKd/cQkjm7b88GyorAUz20=

我也试过了:

import java.net.URLEncoder
val result = URLEncoder.encode(user + ":" + pass, "UTF-8")

结果:

result: String = user%3Apass

基于 http://www.base64encode.org/我想要的结果值应该是“dXNlcjpwYXNz”

网站与这些编码有何不同?另外,我该如何模仿 Java/Scala 中的网站?

注意,具体应用是针对使用基本身份验证的 header 。

最佳答案

从 Java 8 开始,标准库中直接有方便的实用程序类:Base64.DecoderBase64.Encoder .还有一些静态工厂方法可以构造这些类的实例,这些实例对 Base64 中的各种 Base64 风格执行 Base64 编码/解码。类。

这是编码器的使用方法:

import java.util.Base64
import java.nio.charset.StandardCharsets

Base64.getEncoder.encodeToString("user:pass".getBytes(StandardCharsets.UTF_8))

关于java - 使用 Scala 或 Java 进行 Base 64 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18241077/

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