class Vertica::Protocol::Password
Public Class Methods
new(password, auth_method: Vertica::Protocol::Authentication::CLEARTEXT_PASSWORD, salt: nil, user: nil)
click to toggle source
# File lib/vertica/protocol/frontend/password.rb, line 6 def initialize(password, auth_method: Vertica::Protocol::Authentication::CLEARTEXT_PASSWORD, salt: nil, user: nil) @password = password @auth_method, @salt, @user = auth_method, salt, user end
Public Instance Methods
encoded_password()
click to toggle source
# File lib/vertica/protocol/frontend/password.rb, line 11 def encoded_password case @auth_method when Vertica::Protocol::Authentication::CLEARTEXT_PASSWORD @password when Vertica::Protocol::Authentication::CRYPT_PASSWORD @password.crypt(@salt) when Vertica::Protocol::Authentication::MD5_PASSWORD require 'digest/md5' @password = Digest::MD5.hexdigest("#{@password}#{@user}") @password = Digest::MD5.hexdigest("#{@password}#{@salt}") @password = "md5#{@password}" else raise ArgumentError.new("unsupported authentication method: #{@auth_method}") end end
message_body()
click to toggle source
# File lib/vertica/protocol/frontend/password.rb, line 27 def message_body [encoded_password].pack('Z*') end