Module: Handshakejs

Extended by:
Handshakejs
Included in:
Handshakejs
Defined in:
lib/handshakejs.rb,
lib/handshakejs/version.rb

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#digestObject



51
52
53
# File 'lib/handshakejs.rb', line 51

def digest
  Armor::Digest.new(hash_function)
end

#hash_functionObject



46
47
48
49
# File 'lib/handshakejs.rb', line 46

def hash_function
  return @hash_function if @hash_function
  "sha1"
end

#hash_function=(hash_function) ⇒ Object



40
41
42
43
44
# File 'lib/handshakejs.rb', line 40

def hash_function=(hash_function)
  @hash_function = hash_function

  @hash_function
end

#iterationsObject



24
25
26
27
# File 'lib/handshakejs.rb', line 24

def iterations
  return @iterations if @iterations
  1000
end

#iterations=(iterations) ⇒ Object



18
19
20
21
22
# File 'lib/handshakejs.rb', line 18

def iterations=(iterations)
  @iterations = iterations

  @iterations
end

#key_lengthObject



35
36
37
38
# File 'lib/handshakejs.rb', line 35

def key_length
  return @key_length if @key_length
  16
end

#key_length=(key_length) ⇒ Object



29
30
31
32
33
# File 'lib/handshakejs.rb', line 29

def key_length=(key_length)
  @key_length = key_length

  @key_length
end

#saltObject



13
14
15
16
# File 'lib/handshakejs.rb', line 13

def salt
  return @salt if @salt
  "salt_required"
end

#salt=(salt) ⇒ Object



7
8
9
10
11
# File 'lib/handshakejs.rb', line 7

def salt=(salt)
  @salt = salt

  @salt
end

#validate(params = {}) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/handshakejs.rb', line 55

def validate(params={})
  password  = params[:email]

  result    = Armor.hex(Armor.pbkdf2(digest, password, salt, Integer(iterations), key_length))

  params[:hash] == result
end