gpt4 book ai didi

java - scala 中的 OAuth Consumer Secret Consumer Key 生成

转载 作者:行者123 更新时间:2023-12-01 15:05:25 29 4
gpt4 key购买 nike

我正在尝试在我的 scala play 应用程序中创建消费者 secret / key 对,但我似乎无法让它正常工作。我有以下代码

import org.apache.commons.codec.binary.Base64
import javax.crypto.{KeyGenerator, Mac, SecretKey}
import javax.crypto.spec.SecretKeySpec

def hmacSha1(baseString:String) : String = {
val MAC_NAME = "HmacSHA1"
val keygen = KeyGenerator.getInstance(MAC_NAME);
val macKey = keygen.generateKey();
val mac = Mac.getInstance(MAC_NAME);
val secret = new SecretKeySpec(macKey.getEncoded(), mac.getAlgorithm());
mac.init(secret);
val digest = mac.doFinal(s.getBytes());
val result= new binary.Base64().encode(digest)
result.toString
}

但是当我在基本字符串中添加“Anthony”之类的内容时,我总是会得到一个看起来像这样的字符串

"[B@2008bf02" 

我希望得到看起来更像这样的东西

“w/FdJ7y1qwe3HX/VmPiACTn01Zc=“ 

最佳答案

您没有正确地将编码的字节数组转换为字符串。 Base64 类有一个方法可以帮助您。只需这样做:

    mac.init(secret);
val digest = mac.doFinal(s.getBytes());
new binary.Base64().encodeBase64String(digest);
}

更传统的方式是:

    mac.init(secret);
val digest = mac.doFinal(s.getBytes());
val result= new binary.Base64().encode(digest)
new String(result, "ASCII");
}

关于java - scala 中的 OAuth Consumer Secret Consumer Key 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021674/

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