我正在開發Web應用程序,我需要爲每條記錄生成演示mac地址。將有大量的記錄,我將需要演示mac地址。
在PHP中生成虛擬mac地址的方法
那麼如何使用PHP生成唯一的mac地址呢?
注 -我不想確切的mac地址 - 我需要一些像mac地址但不是UUID的唯一東西。
例如 - 00:17:88:00:00:00
我正在開發Web應用程序,我需要爲每條記錄生成演示mac地址。將有大量的記錄,我將需要演示mac地址。
在PHP中生成虛擬mac地址的方法
那麼如何使用PHP生成唯一的mac地址呢?
注 -我不想確切的mac地址 - 我需要一些像mac地址但不是UUID的唯一東西。
例如 - 00:17:88:00:00:00
echo implode(':', str_split(substr(md5(mt_rand()), 0, 12), 2));
echo implode(':', str_split(str_pad(base_convert(mt_rand(0, 0xffffff), 10, 16) . base_convert(mt_rand(0, 0xffffff), 10, 16), 12), 2));
拉吉SF,
你的問題是在這一點曖昧的你不是,如果這唯一的ID是,可能是在不同的行或者其任何行都是唯一的數據或相同的數據獨特的透明爲什麼你真的需要一個格式化爲MAC地址的唯一ID,而不僅僅是一個增加的數字。如果在後端的任何地方都有一個數據庫,我會使用數據庫的唯一鍵字段,然後使用它來生成唯一的ID。
下面是如果你不使用後端數據庫:
例如,如果你遇到的問題可能包含具有相同數據行的表,你就需要添加一個列,它是獨一無二的 - 的最簡單的是某種類型的自動編號(例如,1,2,3,4,5等)。如果你願意,你可以從該自動編號生成一個唯一的ID(例如像mleko給出的答案)。
如果數據本身每行都是唯一的,那麼您可以從連接行值的sha中生成唯一標識(即將行中的所有值連接在一起,然後對該字符串執行sha1(),然後分割你想)。
就我個人而言,我會採用自動編號的方法,因爲您可以確定您將獲得正確的行!
是賈斯汀 - 自動編號的方法也是一種選擇,它看起來不錯;) –
你可以嘗試密碼生成不同的方法來產生的0-F字符(僞)隨機字符串:
How to generate random password with PHP? ,然後切片作爲mleko建議。
太好了 - 看起來它會爲我工作 –
你繼續使用這個詞。我不認爲[MAC地址](http://en.wikipedia.org/wiki/MAC_address)意味着你認爲它的意思是... –
http://www.php.net/manual/en/function.uniqid .php –
@DigitalChris - 問題更新:) –