2016-07-23 94 views
1

我需要生成唯一的,獨特的像Stripe令牌的銀行應用程序(僅生產)來表示賬戶和交易一次性使用令牌生成,這將是這樣做的安全和適當的方法?PHP - 爲交易

我可以使用random_bytes()嗎?

如果令牌是字母數字而不僅僅是數字,那將是更可取的。 例如,條紋令牌看起來像tok_382r1O2IZ7IgsfwNFATX4xax

+0

此外,以提供答案 - 你可能已經使用'base64'因爲它是短於'bin2hex' – zerkms

回答

1

如果您使用的是PHP 7的新功能random_bytes()是一個安全的隨機數/串產生,並要做到這一點離子PHP的推薦方式。

如果您還沒有遷移到PHP 7尚未有在Github上的PHP 5兼容的替代叫random_compat

+0

謝謝,我已經跨越'random_bytes來到()'因爲我使用PHP 7。 –

1

您可以使用函數bin2hex將字節轉換爲基本62字符串。

$token = bin2hex(random_bytes(16)); //generates a crypto-secure 32 characters long 

只需在起始處追加一個字符串,就可以很容易地爲此加上前綴。

1

您可以使用下列內容:

bin2hex(openssl_random_pseudo_bytes(8))

如何利用你的需求Here are the docks