From 1c2005fbf6150d09af2e0f9af6411b69fc671791 Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 2 Mar 2009 16:56:40 +0000 Subject: [PATCH] * lib/securerandom.rb (SecureRandom.urlsafe_base64): delete padding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/securerandom.rb | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b6e09c5373..4fab1edf0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 3 01:56:03 2009 Tanaka Akira + + * lib/securerandom.rb (SecureRandom.urlsafe_base64): delete padding. + Mon Mar 2 21:39:08 2009 Tanaka Akira * ext/socket/sockport.h (SS_LEN): defined unconditionally. diff --git a/lib/securerandom.rb b/lib/securerandom.rb index b1477aa5b1..6b16445bb4 100644 --- a/lib/securerandom.rb +++ b/lib/securerandom.rb @@ -162,10 +162,12 @@ module SecureRandom # If n is not specified, 16 is assumed. # It may be larger in future. # - # The result may contain A-Z, a-z, 0-9, "-", "_" and "=". + # No padding is generated because "=" may be used as a URL delimiter. # - # p SecureRandom.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg==" - # p SecureRandom.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg==" + # The result may contain A-Z, a-z, 0-9, "-" and "_". + # + # p SecureRandom.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg" + # p SecureRandom.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg" # # If secure random number generator is not available, # NotImplementedError is raised. @@ -175,6 +177,7 @@ module SecureRandom s = [random_bytes(n)].pack("m*") s.delete!("\n") s.tr!("+/", "-_") + s.delete!("=") s end