You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言:如何在GET请求中传递加密后的密码?

对接API时的RSA密码加密实现方案

最近在对接一个需要通过用户名和密码获取authToken的API,它对密码的要求是这样的:

Hashed password. May be passed as clear text, or as RSA-encrypted hash (see above for RSA public key).

我用R语言的openssl包实现了RSA加密密码的流程,亲测可用,代码和细节分享给大家:

具体实现代码

# 加载openssl库,用于加密操作
library(openssl)

# 读取服务器提供的RSA公钥文件
aqKey <- read_pubkey("public_key.pem")

# 填写API要求的用户名
user_name <- "UserName"

# 安全获取用户输入的密码,转成原始字节后用公钥加密
password <- rsa_encrypt(charToRaw(askpass()), aqKey)

# 将加密后的原始数据转为字符串,用于后续API请求
pw <- rawToChar(password)

几个需要注意的细节

  • 一定要确保public_key.pem是服务器提供的标准PEM格式公钥,如果读取失败,可以检查文件是否有多余的换行或格式错误
  • 我用askpass()来获取密码,它会弹出交互式输入框,避免明文写在脚本里;如果是自动化脚本运行,可以考虑从环境变量读取密码,同样要注意不要泄露敏感信息
  • 有些API可能要求加密后的内容以Base64编码的字符串传递,这时候可以把最后一步改成pw <- base64encode(password),具体要看API的文档要求

内容的提问来源于stack exchange,提问作者steine18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:29:31