忙于业务应用程序和php web应用程序之间的接口。业务应用程序将向服务器发送产品文件,该文件将每天上传几次。我想追加一个唯一的关键到url, web应用程序做任何事情之前首先检查。因此,商业应用程序和web应用程序必须使用相同的算法,以生成一个简单的密钥。有什么想法吗?
。
www.phpwebapp/上传/产品/和文件="C:/products.csv",关键= ' Abg1h35 的
编辑
两个应用程序都需要生成相同的密钥,因此我需要一个简单的算法,即使它只是基于当前日期。
。
date() + SALT = 'key';
比那好一点。
听起来你想要一些类似于请求签名的东西:
- 生成一个随机密钥,你给认证应用程序(提前,共享的秘密)
- 要求认证应用发送其当前日期作为请求的一部分
-
要求认证应用创建一个
串接的哈希值- 2.
- 作为请求一部分的任何其他唯一数据
- 密钥
验证日期在一定的公差范围内,例如±15分钟
- 重复相同的哈希算法
- 比较接收到的哈希值与你的哈希值
这将形成您的"唯一密钥"。由于您正在查看消息身份验证码,因此您需要HMAC哈希。例如:
code = HMAC(date + data, secret key)
通过这种方式,您可以验证每个请求是由拥有密钥的实体发送的,而无需通过网络发送密钥,并且每个请求都有一个唯一的身份验证码。