Module: Swak

Defined in:
lib/swak/crypt.rb,
lib/swak/table.rb,
lib/swak/logger.rb,
lib/swak/interval.rb

Defined Under Namespace

Modules: Interval, Table Classes: Logger

Class Method Summary collapse

Class Method Details

.decrypt(encrypted_data, key) ⇒ Object

Uses AES-256-ECB encryption, outputs a string

  • encrypted_data: an encrypted data string output by encrypt

  • key: plain text key (uses SHA2 to digest it into a form openssh can use)



8
9
10
11
12
13
# File 'lib/swak/crypt.rb', line 8

def Swak.decrypt(encrypted_data, key)
  aes = OpenSSL::Cipher::Cipher.new("AES-256-ECB")
  aes.decrypt
  aes.key = Digest::SHA1.hexdigest(key)
  aes.update(encrypted_data) + aes.final
end

.encrypt(data, key) ⇒ Object

Uses AES-256-ECB encryption, outputs a string

  • data: A string of data

  • key: plain text key (uses SHA2 to digest it into a form openssh can use)



18
19
20
21
22
23
# File 'lib/swak/crypt.rb', line 18

def Swak.encrypt(data, key)
  aes = OpenSSL::Cipher::Cipher.new("AES-256-ECB")
  aes.encrypt
  aes.key = Digest::SHA1.hexdigest(key)
  aes.update(data) + aes.final
end