2016-07-23 64 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