hashtree 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  class HashTree
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/hashtree.rb CHANGED
@@ -101,7 +101,7 @@ class HashTree
101
101
  def get_branch_id(key)
102
102
  id = @index[key]
103
103
  if id
104
- branch_id = id[0..15]
104
+ branch_id = id[0..31]
105
105
  else
106
106
  nil
107
107
  end
@@ -109,7 +109,7 @@ class HashTree
109
109
 
110
110
  # Private API
111
111
  def translate_id(id)
112
- branch_id, leaf_id = id[0..15], id[16..32]
112
+ branch_id, leaf_id = id[0..31], id[33..64]
113
113
  return branch_id, leaf_id
114
114
  end
115
115
 
@@ -128,13 +128,13 @@ class HashTree
128
128
  def create(key, value)
129
129
  free_branch_id = @branches[:free].keys.sample
130
130
  if free_branch_id
131
- leaf_id = Digest::MD5.hexdigest(SecureRandom.uuid)[0..15]
131
+ leaf_id = Digest::SHA2.hexdigest(SecureRandom.uuid)[0..31]
132
132
  @index[key] = free_branch_id + leaf_id
133
133
  branch = @branches[free_branch_id]
134
134
  branch[leaf_id] = value
135
135
  @branches[:free].delete(branch_id) if branch.size >= @settings[:max_branch_size]
136
136
  else
137
- id = Digest::MD5.hexdigest(SecureRandom.uuid)
137
+ id = Digest::SHA2.hexdigest(SecureRandom.uuid)
138
138
  @index[key] = id
139
139
  branch_id, leaf_id = translate_id(id)
140
140
  branch = { leaf_id => value }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashtree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: