生成唯一键的简单算法

时间:2014-05-09 07:55:24

标签: php algorithm uniqueidentifier

忙于业务应用程序和php web应用程序之间的接口。 业务应用程序将向服务器发送产品文件,该文件将每天上载几次。 我想在网页应用首先检查的网址上附加一个唯一的密钥,然后再做任何事情。 因此业务应用程序和Web应用程序必须使用相同的算法,才能生成简单的密钥。 任何想法?

e.g。

  

www.phpwebapp /上传/产品/&安培;文件= 'C:/products.csv'&键=' 的 Abg1h35


编辑

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

e.g。

date() + SALT = 'key';

比那更好的东西。

1 个答案:

答案 0 :(得分:2)

听起来像你想要像request signing这样的东西:

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

    串联的哈希值
    • 2日发送的日期。
    • 请求中包含的任何其他唯一数据
    • 密钥

    这将形成您的“独特钥匙”。由于您正在查看消息身份验证代码,因此您需要HMAC哈希。 E.g:

    code = HMAC(date + data, secret key)
    
  4. 验证日期是否在某个容差范围内,例如±15分钟

  5. 重复相同的散列算法
  6. 将收到的哈希值与哈希值进行比较
  7. 通过这种方式,您可以将拥有密钥的实体发送的每个请求进行身份验证,而无需通过网络发送密钥,并且每个请求都具有唯一的身份验证代码。