diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-08-06 00:00:07 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-08-06 00:00:07 +0200 |
commit | 95fcd722943eff110febe2625f5a2118c34c6112 (patch) | |
tree | ac187d36a21ea89090595dd1c8bd0c5ba3fa9004 /lib | |
parent | bfd398596afed66754011b6720e5891c4897c858 (diff) | |
download | ayk-95fcd722943eff110febe2625f5a2118c34c6112.zip ayk-95fcd722943eff110febe2625f5a2118c34c6112.tar.gz |
add JCryption::digest and specs
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ayk/jcryption.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/ayk/jcryption.rb b/lib/ayk/jcryption.rb index 3b4871f..d498184 100644 --- a/lib/ayk/jcryption.rb +++ b/lib/ayk/jcryption.rb @@ -25,6 +25,8 @@ #---------------------------------------------------------------------------- # require 'ayk/maths' +require 'digest/md5' +require 'digest/sha2' # module JCryption # @@ -47,5 +49,22 @@ module JCryption OpenSSL::PKey::RSA.generate( bits ) end module_function :gen_keypair + # + def digest passwd, salt=nil + n = passwd.length + i = ((n/2)+1)-n%8 + i=0 if i<0 + if salt.nil? + m = Digest::MD5.new + m << Time.now.to_s + n = Time.now.to_i%20 + salt = m.to_s[n..n+12] + end + d = Digest::SHA2.new << passwd[0..i]+salt+passwd[i+1..-1] + [d,salt] + end + module_function :digest + # end - +# +# EOF |