1
A
回答
2
您可以生成这种随机令牌:
token = SecureRandom.urlsafe_base64(nil, false)
编辑:
require 'digest/sha1'
Digest::SHA1.hexdigest deviceId
1
如果字符串必须是摘要的输入,而不是随机字符串,您可以使用Digest
库来生成散列。几个例子可以发现in this answer
require 'digest/sha2'
Digest::SHA2.hexdigest(deviceId)
否则,SecureRandom
库有一堆的方法来生成随机字符串。
十六进制字符串。
p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362"
p SecureRandom.hex(10) #=> "92b15d6c8dc4beb5f559"
p SecureRandom.hex(13) #=> "39b290146bea6ce975c37cfc23"
Base64编码字符串。
p SecureRandom.base64(10) #=> "EcmTPZwWRAozdA=="
p SecureRandom.base64(10) #=> "KO1nIU+p9DKxGg=="
p SecureRandom.base64(12) #=> "7kJSM/MzBJI+75j8"
二进制字符串。
p SecureRandom.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
p SecureRandom.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
相关问题
- 1. 如何“生成”唯一变量?
- 2. 如何生成与db记录匹配的唯一URL变量?
- 3. 如何从python生成一个常量唯一标识
- 4. django生成特定标记的供稿
- 5. 如何从JSF clientId生成唯一的JavaScript变量名称?
- 6. 从javascript中的某个特定字符串生成唯一UID
- 7. 为用户标识生成随机唯一标记
- 8. 从变量生成Makefile中的目标
- 9. 如何从变量生成makefile目标?
- 10. 生成唯一
- 11. PHP - 生成特殊的唯一ID
- 12. 在ui中生成唯一的ID标记:include资源
- 13. 生成用于标识记录的唯一随机字符串
- 14. 生成唯一值
- 15. 生成条件唯一标识符
- 16. Google Go不生成唯一标识符?
- 17. 即时生成唯一标识
- 18. iOS 6 GKChallenge生成唯一标识符?
- 19. 唯一号码标识符生成
- 20. 生成std :: string的唯一标识
- 21. 生成唯一的UIButton标签
- 22. 从变量生成IP
- 23. 功能局部静态变量唯一ID生成
- 24. 算法以生成特定格式的唯一的字符串
- 25. 如何在swift中生成特定于设备的唯一uuid
- 26. MySQL - 生成自动增量的唯一标识
- 27. 如何生成自定义唯一ID
- 28. 指定长度唯一ID生成
- 29. 从文件名生成唯一散列
- 30. 从种子生成的唯一编号
这将是很好,如果我想生成一个基本的唯一令牌但对我来说我要**设备ID **参与散列 – damson 2014-11-05 22:40:47
所以你不想生成一个唯一的令牌但一个哈希,所以使用像SHA1哈希方法,看看http://stackoverflow.com/questions/34490/how-do-i-create-a-sha1-hash-in-ruby。 – 2014-11-05 22:42:15
实际上它更像是一个随机令牌,以设备ID作为盐散列 – damson 2014-11-05 22:50:15