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

SEO

Google follows URLs in text

Today I learned that Google follows URLs even when they are plain text

Web Dev

Check in with your database

It pays to take a step back and look at how your database is set up every so often. You will often find quick wins and hidden tech debt.