From: Axel Etzold Date: 2007-09-19T00:04:55+09:00 Subject: Re: file encryption/decryption needed -------- Original-Nachricht -------- > Datum: Tue, 18 Sep 2007 15:15:28 +0900 > Von: Venkat Bagam > An: ruby-talk@ruby-lang.org > Betreff: file encryption/decryption needed > Hi Folks, > > Yesterday, in my ruby application, I was needed to > encrypt/decrypt a file. I searched for a 2-way encryption technique and > ended up with ezcrypto gem. I thought to give it a test. I was able to > encrypt the content and store it in a file but getting errors while > decrypting the file content and writing to console. I couldn't figure > out the problem. here is my code > > require 'rubygems' > require 'ezcrypto' > > @key = EzCrypto::Key.with_password "private documents","salted hash" > file1 = File.new("crypto.txt", "w") > @encrypted = @key.encrypt "These are private documents" > file1.puts @encrypted > file1.close > puts "Here is the content" > file2 = File.read("crypto.txt") > puts @key.decrypt file2 > > Can anyone figure out the problem? or suggest me a different crypting > technique other than ezcrypto or suggest me a ruby app implementing such > a requirement.. > or a code snippet > > any help appreciated > > thanks®ards, > Venkat > > Attachments: > http://www.ruby-forum.com/attachment/304/test.rb > > -- > Posted via http://www.ruby-forum.com/. Dear Venkat, I tried your code and I got a problem about "wrong final block length (OpenSSL::Cipher)", which comes from the fact that you are writing an additional newline at the end of the encrypted text when you store it in a file. So read in the encrypted text from that file, chop off the last newline, and decrypt: require 'rubygems' require 'ezcrypto' @key = EzCrypto::Key.with_password "mighty mouse","salted hash" file1 = File.new("crypto.txt", "w") @encrypted = @key.encrypt "This is my super-secret message" file1.puts @encrypted file1.close file2=File.read("crypto.txt").chop puts @key.decrypt(file2) # => "This is my super-secret message" Best regards, Axel -- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser