0
フレンドリートークンを生成する際に特定の文字をハーコードするという考え方を理解しようとしています。このセキュリティトークンを生成するために特定の文字がハードコード化されている理由
ここで上記のスニペットでhttps://github.com/plataformatec/devise/blob/master/lib/devise.rb#L481
def self.friendly_token(length = 20)
# To calculate real characters, we must perform this operation.
# See SecureRandom.urlsafe_base64
rlength = (length * 3)/4
SecureRandom.urlsafe_base64(rlength).tr('lIO0', 'sxyz')
end
後ろの思考プロセスは何であり、Lは、Iは、O、0は、それぞれS、X、Y、Zで置換取得されます。生成されている他の文字はどうですか?
例
SecureRandom.urlsafe_base64(15)
=> "4-6RGWUH1SIsFlXa3C73"
何R、G程度、Wなど?