我需要生成唯一的,独特的像Stripe令牌的银行应用程序(仅生产)来表示账户和交易一次性使用令牌生成,这将是这样做的安全和适当的方法?PHP - 为交易
我可以使用random_bytes()
吗?
如果令牌是字母数字而不仅仅是数字,那将是更可取的。 例如,条纹令牌看起来像tok_382r1O2IZ7IgsfwNFATX4xax
我需要生成唯一的,独特的像Stripe令牌的银行应用程序(仅生产)来表示账户和交易一次性使用令牌生成,这将是这样做的安全和适当的方法?PHP - 为交易
我可以使用random_bytes()
吗?
如果令牌是字母数字而不仅仅是数字,那将是更可取的。 例如,条纹令牌看起来像tok_382r1O2IZ7IgsfwNFATX4xax
如果您使用的是PHP 7的新功能random_bytes()
是一个安全的随机数/串产生,并要做到这一点离子PHP的推荐方式。
如果您还没有迁移到PHP 7尚未有在Github上的PHP 5兼容的替代叫random_compat。
谢谢,我已经跨越'random_bytes来到()'因为我使用PHP 7。 –
您可以使用函数bin2hex将字节转换为基本62字符串。
$token = bin2hex(random_bytes(16)); //generates a crypto-secure 32 characters long
只需在起始处追加一个字符串,就可以很容易地为此加上前缀。
此外,以提供答案 - 你可能已经使用'base64'因为它是短于'bin2hex' – zerkms