41 lines
		
	
	
		
			712 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			712 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
	
	
class FormController < BaseController
 | 
						|
 | 
						|
	# POST /form
 | 
						|
	# POST /form.json
 | 
						|
	def create
 | 
						|
		realPerson = params[:realPerson]
 | 
						|
		realPersonHash = params[:realPersonHash]
 | 
						|
		
 | 
						|
	    if !realPerson.nil? && !realPersonHash.nil? && Integer(rpHash(realPerson)) == Integer(realPersonHash)
 | 
						|
			
 | 
						|
			# Accepted
 | 
						|
		else 
 | 
						|
			# Rejected
 | 
						|
		end
 | 
						|
		
 | 
						|
	end
 | 
						|
 | 
						|
private 
 | 
						|
 | 
						|
	def rpHash (defaultReal)
 | 
						|
		hash = 5381
 | 
						|
		if !defaultReal.nil?
 | 
						|
			defaultReal.upcase!
 | 
						|
			defaultReal.length.times{ |i| hash = ((shift_32 hash, 5) + hash) + defaultReal[i].ord }
 | 
						|
		end
 | 
						|
		return hash
 | 
						|
	end
 | 
						|
	
 | 
						|
	def shift_32 x, shift_amount
 | 
						|
	  shift_amount &= 0x1F
 | 
						|
	  x <<= shift_amount
 | 
						|
	  x &= 0xFFFFFFFF 
 | 
						|
	
 | 
						|
	  if (x & (1<<31)).zero?
 | 
						|
	   x
 | 
						|
	  else
 | 
						|
	   x - 2**32
 | 
						|
	  end
 | 
						|
	end
 | 
						|
 | 
						|
end |