Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成唯一密钥机密以标识系统_Php_Hash - Fatal编程技术网

Php 生成唯一密钥机密以标识系统

Php 生成唯一密钥机密以标识系统,php,hash,Php,Hash,我需要根据一些信息生成一个唯一标识符。将有多个客户端和一个服务器。第一次注册时,每个客户机将在服务器上调用一个web服务。每个客户端将发送系统名称(被认为是唯一的)、登录用户名、注册日期、mac地址(可能的)等 基于此信息,我想为该特定用户生成一个唯一标识符。我的服务器是用PHP编写的。我知道一些散列方法可以生成一些唯一的密钥,但是标准是什么,通常使用什么 感谢您的帮助。一种有效的方法是在客户端连接的详细信息中添加一个salt(只有服务器知道的几个字符)。对这些数据进行分析。在下面的示例中,sa

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

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


感谢您的帮助。

一种有效的方法是在客户端连接的详细信息中添加一个salt(只有服务器知道的几个字符)。对这些数据进行分析。在下面的示例中,salt是
mysalt

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


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

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


如果您能够安装PECL扩展,那么有一个非常好的扩展:。如果不搜索PHP UUID,您将找到一些纯PHP实现

否决投票,因为他明确表示他知道如何使用散列函数,并要求提供一个标准。我想你会发现这是散列函数的惯用用法(即:通常使用的标准用法);正如OP所问。