示例#1
0
class User:
    def __init__(self, username, full_name, email):
        self.username = username
        self.full_name = full_name
        self.email = email
    def generate_key(self):
        self.password = SymEncPasswordKey()
        self.key = ASymKey()
    def to_dict(self):
        return {
            'password': self.password.to_dict(),
            'key': self.key.to_dict(self.password),
            'username': self.username,
            'full_name': self.full_name,
            'email': self.email
        }
    def decrypt_key(self):
        self.password = SymEncPasswordKey.from_dict(self.password)
        self.key = ASymKey.from_dict(self.password, self.raw_key)
        
    @staticmethod
    def from_dict_auth(state, decrypt = False):
        user = User(state['username'], state['full_name'], state['email'])
        user.password = state['password']
        user.raw_key = state['key']
        if decrypt:
            user.decrypt_key()
        user.key = ASymKey.from_dict(None, user.raw_key)
        return user 
    def __str__(self):
        return self.username
    def __repr__(self):
        return "%s <%s>" % (self.full_name, self.email)
示例#2
0
 def from_dict_auth(state, decrypt = False):
     user = User(state['username'], state['full_name'], state['email'])
     user.password = state['password']
     user.raw_key = state['key']
     if decrypt:
         user.decrypt_key()
     user.key = ASymKey.from_dict(None, user.raw_key)
     return user 
示例#3
0
 def decrypt_key(self):
     self.password = SymEncPasswordKey.from_dict(self.password)
     self.key = ASymKey.from_dict(self.password, self.raw_key)
示例#4
0
 def generate_key(self):
     self.password = SymEncPasswordKey()
     self.key = ASymKey()