You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							25 lines
						
					
					
						
							710 B
						
					
					
				
			
		
		
	
	
							25 lines
						
					
					
						
							710 B
						
					
					
				#!/usr/bin/env python
 | 
						|
# -*- coding:utf-8 -*-
 | 
						|
# author: liuyu
 | 
						|
# date: 2022/2/7
 | 
						|
import hashlib
 | 
						|
import logging
 | 
						|
 | 
						|
from common.libs.geetest.geetest_utils import first_register, second_validate
 | 
						|
 | 
						|
logger = logging.getLogger(__name__)
 | 
						|
 | 
						|
 | 
						|
class GeeTestAuth(object):
 | 
						|
    def __init__(self, unique_key='', ip_address=''):
 | 
						|
        self.ip_address = ip_address
 | 
						|
        self.unique_key = unique_key
 | 
						|
 | 
						|
    def generate(self):
 | 
						|
        assert self.unique_key
 | 
						|
        assert self.ip_address
 | 
						|
        sha = hashlib.sha1(str(self.unique_key).encode("utf-8"))
 | 
						|
        return first_register(sha.hexdigest(), self.ip_address)
 | 
						|
 | 
						|
    def valid(self, geetest_data):
 | 
						|
        return second_validate(geetest_data).get("result", "") == "success"
 | 
						|
 |