我使用Alteryx工具来签署amazon请求。为此,我需要包含在摘要包中的hmac函数。
我正在使用一个文本输入工具,其中包括键和日期戳。
Key= "foo"
datastamp= "20120215"这是问题所在。当我运行以下脚本时:
the.data <- read.Alteryx("1", mode="data.frame")
write.Alteryx(base64encode(hmac(the.data$key,the.data$datestamp,algo="sha256",raw = TRUE)),1)与运行以下代码时相比,我得到的结果不正确:
write.Alteryx(base64encode(hmac("foo","20120215",algo="sha256",raw = TRUE)),1)区别在于,当我硬编码键和对象的值时,我得到了正确的结果。但是,如果使用R数据帧中的变量,则会得到不正确的输出。
数据帧会以某种方式改变数据吗。在Alteryx中使用R工具时,有人遇到过这种情况吗?
谢谢你的意见。
发布于 2015-06-27 16:45:55
问题似乎是,在创建数据框架时,您的字符变量被转换为因素。使用data.frame构造函数修复此问题的方法是
the.data <- data.frame(Key="foo", datestamp="20120215", stringsAsFactors=FALSE)我没有使用read.Alteryx,但我认为它有类似的方法来实现这一点。
或者,如果您的数据框架已经创建,您可以将这些因素转换回字符:
write.Alteryx(base64encode(hmac(
as.character(the.data$Key),
as.character(the.data$datestamp),
algo="sha256",raw = TRUE)),1)https://stackoverflow.com/questions/31089567
复制相似问题