-
-
Save ashishwadekar/4f8d934ee9c2b65b0e7fff49f1c8c014 to your computer and use it in GitHub Desktop.
Revisions
-
RiANOl revised this gist
Jun 27, 2014 . 1 changed file with 12 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,34 +1,42 @@ require "openssl" require "digest" def aes128_cbc_encrypt(key, data, iv) key = Digest::MD5.digest(key) if(key.kind_of?(String) && 16 != key.bytesize) iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.encrypt aes.key = key aes.iv = iv aes.update(data) + aes.final end def aes256_cbc_encrypt(key, data, iv) key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize) iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.encrypt aes.key = key aes.iv = iv aes.update(data) + aes.final end def aes128_cbc_decrypt(key, data, iv) key = Digest::MD5.digest(key) if(key.kind_of?(String) && 16 != key.bytesize) iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.decrypt aes.key = key aes.iv = iv aes.update(data) + aes.final end def aes256_cbc_decrypt(key, data, iv) key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize) iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.decrypt aes.key = key aes.iv = iv aes.update(data) + aes.final end -
RiANOl revised this gist
Feb 4, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,14 +21,14 @@ def aes128_decrypt(key, data) key = Digest::MD5.digest(key) if(key.kind_of?(String) && 16 != key.bytesize) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.decrypt aes.key = key aes.update(data) + aes.final end def aes256_decrypt(key, data) key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.decrypt aes.key = key aes.update(data) + aes.final end -
Rianol Jou revised this gist
Oct 3, 2011 . 1 changed file with 6 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,27 +2,31 @@ require "digest" def aes128_encrypt(key, data) key = Digest::MD5.digest(key) if(key.kind_of?(String) && 16 != key.bytesize) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.encrypt aes.key = key aes.update(data) + aes.final end def aes256_encrypt(key, data) key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.encrypt aes.key = key aes.update(data) + aes.final end def aes128_decrypt(key, data) key = Digest::MD5.digest(key) if(key.kind_of?(String) && 16 != key.bytesize) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.decrypt aes.key = Digest::MD5.digest(key) aes.update(data) + aes.final end def aes256_decrypt(key, data) key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.decrypt aes.key = Digest::SHA256.digest(key) -
Rianol Jou revised this gist
Sep 30, 2011 . 1 changed file with 27 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,13 +1,30 @@ require "openssl" require "digest" def aes128_encrypt(key, data) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.encrypt aes.key = Digest::MD5.digest(key) aes.update(data) + aes.final end def aes256_encrypt(key, data) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.encrypt aes.key = Digest::SHA256.digest(key) aes.update(data) + aes.final end def aes128_decrypt(key, data) aes = OpenSSL::Cipher.new('AES-128-CBC') aes.decrypt aes.key = Digest::MD5.digest(key) aes.update(data) + aes.final end def aes256_decrypt(key, data) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.decrypt aes.key = Digest::SHA256.digest(key) aes.update(data) + aes.final end -
RiANOl created this gist
Jul 12, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,13 @@ def aes256_ecb_pkcs7padding_encrypt(key, data) aes = OpenSSL::Cipher.new('AES-256-ECB') aes.encrypt aes.key = Digest::SHA256.digest(key) aes.update(data) + aes.final end def aes256_ecb_pkcs7padding_decrypt(key, data) aes = OpenSSL::Cipher.new('AES-256-ECB') aes.decrypt aes.key = Digest::SHA256.digest(key) aes.update(data) + aes.final end