Creating a SagePay Encryption in Ruby

A SagePay encryption for Ruby that some folk might find useful

Iโ€™ve just had to create SagePay encryption in Ruby that isnโ€™t well documented anywhere, eventually found an old broken gem that I was able to use for parts. Thought someone might find it useful!

  def self.encrypt(input, password)
    cipher = OpenSSL::Cipher.new('AES-128-CBC')
    cipher.send(:encrypt)
    cipher.key = password
    cipher.iv = password

    result = cipher.update(input) + cipher.final

    "@#{result.unpack('H*').first.upcase}"
  end

Recent posts View all

Ruby

A quick tip to speed up bundle installs

Use more computing power to install gems faster

Rails

Getting Turbolinks to work with Webpack

How to re-add Turbolinks back into a Rails app when moving to Webpack