我需要为银行应用程序(仅限生产)生成一次性使用和唯一的Stripe令牌,以表示帐户和交易,这将是一种安全且适当的方法吗?
我可以使用random_bytes()
吗?
如果令牌是字母数字而不仅仅是数字,那将是更好的选择。
例如,条带标记看起来像tok_382r1O2IZ7IgsfwNFATX4xax
答案 0 :(得分:1)
如果您使用的是PHP 7,则新的random_bytes()
函数是一个安全的随机数/字符串生成器,是推荐使用PHP的方法。
如果您还没有迁移到PHP 7,那么Github上的PHP 5有一个兼容的替代方案random_compat。
答案 1 :(得分:1)
您可以使用函数bin2hex将字节转换为基数为62的字符串。
$token = bin2hex(random_bytes(16)); //generates a crypto-secure 32 characters long
您只需在开头附加一个字符串即可轻松为此添加前缀。
答案 2 :(得分:1)