diff --git a/lib/securerandom.rb b/lib/securerandom.rb index 99e54db..5e96ef8 100644 --- a/lib/securerandom.rb +++ b/lib/securerandom.rb @@ -137,7 +137,7 @@ module SecureRandom # If secure random number generator is not available, # NotImplementedError is raised. def self.hex(n=nil) - random_bytes(n).unpack("H*")[0] + random_bytes(n).unpack("H*")[0].force_encoding(Encoding::US_ASCII) end # SecureRandom.base64 generates a random base64 string. diff --git a/test/test_securerandom.rb b/test/test_securerandom.rb index f3e1bf0..f3c9a1a 100644 --- a/test/test_securerandom.rb +++ b/test/test_securerandom.rb @@ -111,6 +111,10 @@ end end end + def test_hex_encoding + assert_equal(Encoding::US_ASCII, @it.hex.encoding) + end + def test_s_base64 assert_equal(16, @it.base64.unpack('m*')[0].size) 17.times do |idx|