Initializes the ARC4 encryption with the specified key.
# File lib/pdf/writer/arc4.rb, line 17 def initialize(key) @key = key end
ARC4 encrypt a text string
# File lib/pdf/writer/arc4.rb, line 48 def encrypt(text) len = text.size a = b = 0 c = @arc4.dup out = "" text.each_byte do |x| a = (a + 1) % 256 b = (b + c[a].to_i) % 256 c[a], c[b] = c[b], c[a] k = (c[(c[a].to_i + c[b].to_i) % 256]).to_i out << ("%c" % (x.to_i ^ k)) end out end
Initialize the ARC4 encryption.
# File lib/pdf/writer/arc4.rb, line 28 def init(key) @arc4 = "" # Setup the control array return if key.empty? a = [] (0..255).each { |ii| a[ii] = "%c" % ii } k = (key * 256)[0..255].split(//) jj = 0 @arc4.each_with_index do |el, ii| jj = ((jj + el.to_i) + k[ii].to_i) % 256 a[ii], a[jj] = a[jj], a[ii] end @arc4 = a.join end
Generated with the Darkfish Rdoc Generator 2.