@Override
	public void saveRememberMeInfo(SecurityServletContext context, UserDetails userDetails, String rememberMeKey, int maxAge) throws SecurityRuntimeException {
		try {
			long timeSeq = System.currentTimeMillis();
			
			// parts
			// des:username, timeseq, md5:usernaem+timeseq+password
			String str = EncryptUtils.DESEncrypt(userDetails.getName(), KEY) + ":" + timeSeq + ":" + EncryptUtils.MD5Encode(userDetails.getName() + ":" + timeSeq + ":" + userDetails.getPassword());
			String rememberMeString = URLEncoder.encode(new String(Base64Utils.encode(str.getBytes())), "UTF-8");
			rememberMeString = rememberMeString.replaceAll("\\s", ""); // 76
			Cookie cookie = new Cookie(rememberMeKey, rememberMeString);
			cookie.setMaxAge(maxAge > 0 ? maxAge: RememberMeService.REMEMBERME_MAX_AGE);
			cookie.setPath(context.getRequest().getContextPath() + '/');
			context.getResponse().addCookie(cookie);
		} catch (Exception e) {
			logger.error("saveRememberMeInfo", e);
			throw new SecurityRuntimeException(e);
		}
	}