[#395238] rubygem: ispunity (unite all your internet connections) — Arun Tomar <tomar.arun@...>

Dear friends,

12 messages 2012/05/01

[#395250] Overwriting one Ruby array or arrays with another — Craig Law <lists@...>

Hi

14 messages 2012/05/02

[#395258] array of strings - finding letter combinations — "Sebastjan H." <lists@...>

Hi All,

16 messages 2012/05/02

[#395357] Why Enumerator#next does not return more than one value? — Földes László <lists@...>

If I have an Enumerator which yields elements of a mathematical series

10 messages 2012/05/07

[#395373] How to use Data_Wrap_Struct to assign the DATA VALUE to an exsiting Ruby object? — Iñaki Baz Castillo <ibc@...>

Hi, my code receives an arbitrary klass name (provided by the user)

8 messages 2012/05/07

[#395429] passing via instance variable or regular () — sam jam <lists@...>

def first

10 messages 2012/05/10

[#395463] I'm looking for a Metaprogramming Project — Phil Stone <lists@...>

Hello,

19 messages 2012/05/11

[#395548] A million reasons why Encoding was a mistake — Marc Heiler <lists@...>

Newcomer wants to try Ruby.

15 messages 2012/05/15
[#395561] Re: A million reasons why Encoding was a mistake — Ryan Davis <ryand-ruby@...> 2012/05/15

[#395595] Re: A million reasons why Encoding was a mistake — Brian Candler <lists@...> 2012/05/16

I will add that the OP is not entirely alone in his opinion.

[#395551] How to ensure that a block runs entirely after other threads? (Thread.exclusive does not "work") — Iñaki Baz Castillo <ibc@...>

Hi, I expected that in the following example code, thread t1 would not

8 messages 2012/05/15

[#395575] GUI with ruby on windows — David Acosta <lists@...>

hello friends, i am a begginer and i have a litlle question, how can i

17 messages 2012/05/16

[#395604] what is going wrong here? — roob noob <lists@...>

Notice the initialization of both classes in each of the examples, if

20 messages 2012/05/16

[#395646] rb_gc_register_address() or rb_gc_mark()? — Iñaki Baz Castillo <ibc@...>

Hi, I've bad experiences with rb_gc_register_address(), it does never

16 messages 2012/05/17

[#395686] reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...>

Hi,

19 messages 2012/05/18
[#395694] Re: reading from and writing to a Unicode encoded file — Regis d'Aubarede <lists@...> 2012/05/18

Hello,

[#395697] Re: reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...> 2012/05/18

Regis d'Aubarede wrote in post #1061272:

[#395698] Re: reading from and writing to a Unicode encoded file — Regis d'Aubarede <lists@...> 2012/05/18

Sebastjan H. wrote in post #1061276:

[#395699] Re: reading from and writing to a Unicode encoded file — "Sebastjan H." <lists@...> 2012/05/18

Regis d'Aubarede wrote in post #1061277:

[#395750] Re: reading from and writing to a Unicode encoded file - issues when using Shoes — "Sebastjan H." <lists@...> 2012/05/21

Hi,

[#395754] Re: reading from and writing to a Unicode encoded file - issues when using Shoes — "Sebastjan H." <lists@...> 2012/05/21

Sebastjan H. wrote in post #1061483:

[#395740] ? Ruby through CGI and Rails — Shaun Lloyd <list@...>

Hi everybody,

22 messages 2012/05/21
[#395764] Re: Ruby through CGI and Rails — Brian Candler <lists@...> 2012/05/21

Shaun Lloyd wrote in post #1061455:

[#395786] Re: Ruby through CGI and Rails — Shaun Lloyd <list@...> 2012/05/22

On 22/05/12 03:37, Brian Candler wrote:

[#395838] Re: Ruby through CGI and Rails — Brian Candler <lists@...> 2012/05/23

Shaun Lloyd wrote in post #1061602:

[#395787] Changing self class from inside a method?? — David Madison <lists@...>

Let's start off with the assumption I want a method that allows an

10 messages 2012/05/22

[#395841] Memory-efficient set of Fixnums — George Dupre <lists@...>

Hi,

25 messages 2012/05/23

[#395883] looking for a ruby idiom : r=foo; return r if r — botp <botpena@...>

Hi All,

11 messages 2012/05/24

[#395966] Am I justified to use a global variable if it must be used in all scopes? — Phil Stone <lists@...>

Hello,

12 messages 2012/05/27

[#396010] does this leak more than the size of the string via timing side channels — rooby shoez <lists@...>

string1 = "string"

16 messages 2012/05/29

[#396038] Is it possible to avoid longjmp in exceptions, Thread#kill, exit(), signals? — Iñaki Baz Castillo <ibc@...>

Hi, my Ruby C extension runs a C loop (libuv) without GVL. At some

8 messages 2012/05/29

what is going wrong here?

From: roob noob <lists@...>
Date: 2012-05-16 18:16:31 UTC
List: ruby-talk #395604
Notice the initialization of both classes in each of the examples, if
the instance variable is in initialization or in the called method is
the only thing changing between these examples.

I don't understand why I can't begin both classes with the
initialization
set to what I want it to be, I would think that the initialization value
would be consistent for the objects entire life but it only works for
the first pass, the second time through it doesn't work. The only way to
fix this is to not have the respective instance variable set in
initialization with either of the two classes. What is going wrong here?
I like to set variables during initialization but it clearly doesn't
work how I would hope, I would like to understand what is going wrong
because even though I can get it to work I don't see why it doesn't work
in some cases.

Maybe it has to do with my poor use of instance variables :/, if this is
the case I would still like to know what is going on so I can find a way
to work around it

when I say it doesn't work I mean the output is not correct, it gives me
random looking output the second time even though it should give the
plaintext.

###############This way doesn't work##################


class EncryptionBackend
require 'openssl'

  def initialize
    @cipher = OpenSSL::Cipher::Cipher.new("AES-256-CTR")
  end

  def encrypt(key, plaintext)
  puts plaintext
    @cipher.encrypt
    @cipher.key = key
    ciphertext = @cipher.update(plaintext)
    ciphertext << @cipher.final
    @cipher.reset
    puts ciphertext
    @ciphertext = ciphertext


  end
end

class EncryptMessage
require 'openssl'

  def initialize
    @crypto = EncryptionBackend.new
  end

  def twice
    @message = "whatever"
    encrypt_message
    encrypt_message

  end

  def encrypt_message
    @sha256 = OpenSSL::Digest::SHA256.new
    key = @sha256.digest("whatever")
    @message = @crypto.encrypt(key, @message)
  end
end

message_encrypt = EncryptMessage.new
message_encrypt.twice

###############This way works###################

class EncryptionBackend
require 'openssl'

  def initialize
    @cipher = OpenSSL::Cipher::Cipher.new("AES-256-CTR")
  end

  def encrypt(key, plaintext)
  puts plaintext
    @cipher.encrypt
    @cipher.key = key
    ciphertext = @cipher.update(plaintext)
    ciphertext << @cipher.final
    @cipher.reset
    puts ciphertext
    @ciphertext = ciphertext


  end
end

class EncryptMessage
require 'openssl'

  def initialize
    #nothing
  end

  def twice
    @message = "whatever"
    encrypt_message
    encrypt_message

  end

  def encrypt_message
    @crypto = EncryptionBackend.new
    @sha256 = OpenSSL::Digest::SHA256.new
    key = @sha256.digest("whatever")
    @message = @crypto.encrypt(key, @message)
  end
end

message_encrypt = EncryptMessage.new
message_encrypt.twice


###############this way works though##################


class EncryptionBackend
require 'openssl'

  def initialize
    #nothing
  end

  def encrypt(key, plaintext)
  @cipher = OpenSSL::Cipher::Cipher.new("AES-256-CTR")
  puts plaintext
    @cipher.encrypt
    @cipher.key = key
    ciphertext = @cipher.update(plaintext)
    ciphertext << @cipher.final
    @cipher.reset
    puts ciphertext
    @ciphertext = ciphertext


  end
end

class EncryptMessage
require 'openssl'

  def initialize
    @crypto = EncryptionBackend.new
  end

  def twice
    @message = "whatever"
    encrypt_message
    encrypt_message

  end

  def encrypt_message
    @sha256 = OpenSSL::Digest::SHA256.new
    key = @sha256.digest("whatever")
    @message = @crypto.encrypt(key, @message)
  end
end

message_encrypt = EncryptMessage.new
message_encrypt.twice

################This way also works#######################


class EncryptionBackend
require 'openssl'

  def initialize
    @cipher = OpenSSL::Cipher::Cipher.new("AES-256-CTR")
  end

  def encrypt(key, plaintext)
  puts plaintext
    @cipher.encrypt
    @cipher.key = key
    ciphertext = @cipher.update(plaintext)
    ciphertext << @cipher.final
    @cipher.reset
    puts ciphertext
    @ciphertext = ciphertext


  end
end

class EncryptMessage
require 'openssl'

  def initialize
    ##nothing
  end

  def twice
    @message = "whatever"
    encrypt_message
    encrypt_message

  end

  def encrypt_message
    @crypto = EncryptionBackend.new
    @sha256 = OpenSSL::Digest::SHA256.new
    key = @sha256.digest("whatever")
    @message = @crypto.encrypt(key, @message)
  end
end

message_encrypt = EncryptMessage.new
message_encrypt.twice

-- 
Posted via http://www.ruby-forum.com/.

In This Thread

Prev Next