-1
使用案例
軟件系統利用由WordPress的賬戶如提供的數據用戶名。有一個變化,即兩個WordPress帳戶沒有相同的唯一用戶ID或用戶名,因爲他們在自己的環境中運行。但是因爲他們都利用我的軟件系統提供的環境,所以需要一個唯一的ID。
因此,爲了驗證每個WordPress帳戶(使用它)的真實性,系統必須對特定的WordPress帳戶有一定的參考。我想創建一個用戶ID和用戶名的組合,使其獨特。
例
<?php
global
$current_user;
get_currentuserinfo();
$hash = crc32($current_user->user_login);
輸出:385153371 ===根
$unique_id = $hash . $current_user->ID;
個輸出:385153371 {2} ===根{2}
記錄例如
爲什麼不讓數據庫生成一個唯一的ID作爲主鍵?您可以在用戶名字段上設置唯一性約束,以確保它們不會重複。或者使用用戶名作爲主鍵,並在UI/API層(取決於您的程序結構)中進行驗證,以在插入之前檢查重複項。目前還不清楚爲什麼你需要做你建議的過程。 – ADyson
即使你這樣做,目前還不清楚爲什麼返回數字中的數字數目會有重要意義。只是增加一個任意的第10位數字也不能保證唯一性,我不認爲,因爲你可以很容易地再次將相同的數字添加到相同的散列輸出。你說第10位數字是主鍵,但是如果你的主鍵只有1位數字,那麼在你違反密鑰之前,你必須限制爲10個用戶(0-9)。 – ADyson
這是一個32位整數(因此crc32),無符號範圍爲0到4,294,967,295;但可以在32位PHP系統上返回一個負數(範圍爲-2,147,483,648至2,147,483,647);所以可能有10位數字和一個符號 –