Пример #1
0
func (self RedisDB) CheckNNTPLogin(username, passwd string) (valid bool, err error) {
	var login_hash, login_salt string
	var hashres []string
	hashres, err = self.client.HGetAll(NNTP_LOGIN_PREFIX + username).Result()

	if err == nil {
		// no errors
		mapRes := processHashResult(hashres)

		login_hash = mapRes["login_hash"]
		login_salt = mapRes["login_salt"]

		if len(login_hash) > 0 && len(login_salt) > 0 {
			valid = util.NntpLoginCredHash(passwd, login_salt) == login_hash
		}
	}
	return
}
Пример #2
0
func (self RedisDB) AddNNTPLogin(username, passwd string) (err error) {
	login_salt := util.GenLoginCredSalt()
	login_hash := util.NntpLoginCredHash(passwd, login_salt)
	_, err = self.client.HMSet(NNTP_LOGIN_PREFIX+username, "username", username, "login_hash", login_hash, "login_salt", login_salt).Result()
	return
}