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