我使用this API.从服务器提取数据为了获得authToken,我需要传递我的用户名和密码。密码输入说明显示“哈希密码。可以作为明文或RSA加密哈希传递 (参见上面的RSA公钥)。“
要加密密码,我使用以下代码。
library(openssl)
aqKey <- read_pubkey("public_key.pem")
user_name <- "UserName"
password <- rsa_encrypt(charToRaw(askpass()), aqKey)
pw <- rawToChar(password)
这给了我一个包含大量不可用字符的字符串,当在URL中使用时会产生400错误。
/GetAuthToken?user=USERNAME&encPwd=ˆ Ù\026Õ©1tÐÆ®IßÊ/ÛÅÆwéÙeµèB¾kz–V\t–ü˜ÞO«~=ñcѪÿC'p‰-zòjEü,\r¯eÑ}d‹ã\fÀ\030DR·W\026Â\022‰Å:™¶í©«cózÆlE\032Ï4$é¹Þ,ù«…s\021…–ì\026}h¯~?\nC\021ôj-†\032K}ò\026
如果我在base64_encode()
或URLencode()
上使用password
或pw
,我会获得200状态,但不会收到令牌。这相当于一个不正确的密码。当我以明文形式传递密码时,我得到一个令牌。
我的问题是,加密后如何格式化密码,以便服务器将其识别为加密密码?