2016-11-13 37 views
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等?

回答