file encryption/decryption needed

Discussion in 'Ruby' started by Venkat Bagam, Sep 18, 2007.

  1. Venkat Bagam

    Venkat Bagam Guest

    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&regards,
    Venkat

    Attachments:
    http://www.ruby-forum.com/attachment/304/test.rb

    --
    Posted via http://www.ruby-forum.com/.
     
    Venkat Bagam, Sep 18, 2007
    #1
    1. Advertising

  2. 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
     
    Morton Goldberg, Sep 18, 2007
    #2
    1. Advertising

  3. Venkat Bagam

    Axel Etzold Guest

    -------- Original-Nachricht --------
    > Datum: Tue, 18 Sep 2007 15:15:28 +0900
    > Von: Venkat Bagam <>
    > An:
    > 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&regards,
    > 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
     
    Axel Etzold, Sep 18, 2007
    #3
  4. Venkat Bagam

    Venkat Bagam Guest

    Dear Axel,

    Thanks. It works great. I have been trying for two days but
    unable to
    figure out that. I need to be little bit careful with files.

    once again, thanks to you and the forum....

    regards,
    venkat
    --
    Posted via http://www.ruby-forum.com/.
     
    Venkat Bagam, Sep 19, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Srinivasa Reddy K Ganji

    database connection string encryption and decryption

    Srinivasa Reddy K Ganji, Jul 18, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    733
    Gary Varga
    Jul 18, 2003
  2. Replies:
    2
    Views:
    1,639
    Sushant Bhatia
    May 3, 2005
  3. Rogue Chameleon

    Encryption & Decryption

    Rogue Chameleon, Sep 23, 2004, in forum: Java
    Replies:
    6
    Views:
    601
  4. Replies:
    6
    Views:
    686
    DishanF
    Jan 12, 2005
  5. Aidan Diffey
    Replies:
    11
    Views:
    9,595
    Chris Uppal
    Oct 24, 2005
Loading...

Share This Page