Password Expiry Calculator
Calculate password expiry dates based on your security policy and get alerts for expiring passwords.
Status
Active
2026-06-24
Expiry Date
0
Days Since Change
89
Days Until Expiry
常见问题
代码实现
from datetime import datetime, timedelta
def calculate_password_expiry(
last_changed: datetime,
policy_days: int,
warn_days: int = 14
) -> dict:
"""Calculate password expiry status."""
expiry_date = last_changed + timedelta(days=policy_days)
now = datetime.now()
days_until_expiry = (expiry_date - now).days
days_since_change = (now - last_changed).days
is_expired = now >= expiry_date
is_warning = not is_expired and days_until_expiry <= warn_days
if is_expired:
status = "EXPIRED"
elif is_warning:
status = "EXPIRING_SOON"
else:
status = "ACTIVE"
return {
"last_changed": last_changed.strftime("%Y-%m-%d"),
"expiry_date": expiry_date.strftime("%Y-%m-%d"),
"days_since_change": days_since_change,
"days_until_expiry": max(0, days_until_expiry),
"is_expired": is_expired,
"status": status,
"policy_days": policy_days
}
# Example
result = calculate_password_expiry(
last_changed=datetime(2024, 1, 1),
policy_days=90,
warn_days=14
)
for key, value in result.items():
print(f"{key}: {value}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.