hmacSha1Hex和hmacSha1之间有什么差异吗?

时间:2016-11-29 12:00:01

标签: jmeter beanshell

我正在使用org.apache.commons.codec.digest.HmacUtils.hmacSha1Hex(“secretkey”,“message”);

并在输出中获取一个长字符串。

我尝试执行org.apache.commons.codec.digest.HmacUtils.hmacSha1(“secretkey”,“message”);但面临错误

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``String hmac_Sha1 = org.apache.commons.codec.digest.HmacUtils.hmacSha1("secretkey . . . '' : Typed variable declaration 

2016/11/29 17:09:07 WARN - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: String hmac_Sha1 = org.apache.commons.codec.

基本上我想知道这两个函数的输出长度 对于hmacSha1Hex输出类似于HMAC SHA1 HASH:0ff4e6a0b47baebe19c392e706fffaa13664a1df

我期待输出像btuU9CPfMQMswNgxPIMjRkTjfks%3D差异的长度

1 个答案:

答案 0 :(得分:0)

您正在寻找的答案位于HmacUtils JavaDoc

  • HmacUtils.hmacSha1Hex - 是String
  • HmacUtils.hmacSha1 - 是byte[]

您可以将字节数组转换为字符串,如:

String s = new String (your byte array here);

我还建议使用JSR223 Sampler and Groovy language而不是Beanshell,它符合现代Java功能并且具有更好的性能。