生成唯一密钥的简单算法


simple algorithm to generate unique key

忙于业务应用程序和php web应用程序之间的接口。业务应用程序将向服务器发送产品文件,该文件将每天上传几次。我想追加一个唯一的关键到url, web应用程序做任何事情之前首先检查。因此,商业应用程序和web应用程序必须使用相同的算法,以生成一个简单的密钥。有什么想法吗?

www.phpwebapp/上传/产品/和文件="C:/products.csv",关键= ' Abg1h35


编辑

两个应用程序都需要生成相同的密钥,因此我需要一个简单的算法,即使它只是基于当前日期。

date() + SALT = 'key';

比那好一点。

听起来你想要一些类似于请求签名的东西:

  1. 生成一个随机密钥,你给认证应用程序(提前,共享的秘密)
  2. 要求认证应用发送其当前日期作为请求的一部分
  3. 要求认证应用创建一个

    串接的哈希值
      2.
  4. 作为请求一部分的任何其他唯一数据
  5. 密钥
  6. 这将形成您的"唯一密钥"。由于您正在查看消息身份验证码,因此您需要HMAC哈希。例如:

    code = HMAC(date + data, secret key)
    
  7. 验证日期在一定的公差范围内,例如±15分钟

  8. 重复相同的哈希算法
  9. 比较接收到的哈希值与你的哈希值

通过这种方式,您可以验证每个请求是由拥有密钥的实体发送的,而无需通过网络发送密钥,并且每个请求都有一个唯一的身份验证码。