diff options
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 |