On Sep 18, 2007, at 2:15 AM, Venkat Bagam wrote: > 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 I think puts is adding a "\n" at the end of the file you write out as crypto.txt. So from the point of view of @key.decrypt the file has been corrupted. Try the following: <untested> @key = EzCrypto::Key.with_password "private documents","salted hash" File.open("crypto.txt", "w") do |file1| @encrypted = @key.encrypt "These are private documents" file1.write @encrypted end puts "Here is the content" file2 = File.read("crypto.txt") puts @key.decrypt file2 </untested> I couldn't test the above code because I don't have the ezcrypt gem. Regards, Morton