0

我需要根据一些信息生成一个唯一标识符。将有多个客户端和一台服务器。每个客户端在第一次注册时都会调用服务器上的 Web 服务。每个客户端将发送系统名称(被认为是唯一的)、登录用户名、注册日期、mac地址(可能)等。

基于此信息,我想为该特定用户生成一个唯一标识符。我的服务器是用 PHP 编写的。我知道一些哈希方法可以生成一些唯一的密钥,但是标准是什么,一般使用的是什么?

感谢帮助。

4

2 回答 2

0

一种有效的方法是在来自客户端的连接细节中添加一个盐(只有服务器知道的几个字符)。对该数据进行哈希处理。在下面的示例中,盐是mysalt

<?php
echo hash('ripemd160', 'mysalt' . clientHostname . clientUsername . clientRegistrationDate);
?>

这种方法意味着散列不能轻易被第三方猜测/逆向工程。

于 2013-07-31T05:57:03.617 回答
0

唯一标识的一种标准是UUID。有 5 个版本可供选择,具体取决于您可以提供哪些数据以及需要对其进行模糊处理。

如果您能够安装 PECL 扩展,那么有一个非常好的:http: //pecl.php.net/package/uuid。如果不搜索 PHP UUID,您会发现一些纯 php 实现。

于 2013-07-31T05:57:53.103 回答