# 修改登入密碼

修改密碼會立即撤銷你的其他所有登入會話，且全程沒有確認提示；本文說明後果、操作步驟和密碼規則。

登入密碼可以在『帳戶 > 安全設定』的『登入與認證』標籤頁修改。

> [!CAUTION]
> 修改成功後，除了發起這次修改的當前會話，你名下其他所有登入會話都會被立即撤銷，需要重新登入才能恢復。全程沒有任何確認彈窗，事後的安全郵件也不會提到這件事。點擊**修改密碼**之前，先確認沒有需要保留登入狀態的其他裝置。

## 修改密碼的後果

密碼修改成功的那一刻，以下情況會同時發生：

| 會發生什麼                                                                 | 不會發生什麼                                             |
| -------------------------------------------------------------------------- | -------------------------------------------------------- |
| 除當前會話外，其他所有登入會話立即被撤銷，下一次請求即失敗，必須重新登入   | 你正在操作的這台裝置不受影響，當前會話被顯式保留         |
| 系統非同步發送一封「密碼已修改」安全郵件，附帶修改時間、IP、裝置和地理位置 | 郵件不會提到「其他裝置已下線」，只回報這次改密操作本身   |
| 撤銷同步生效，沒有寬限期，唯一恢復方式是在受影響裝置上重新登入             | 不影響 API 金鑰或 Token 認證，已連接的腳本和整合不受影響 |

## 開始之前

- **需要一次身分驗證**：系統通常會要求你重新驗證身分，具體方式取決於帳戶已啟用的驗證手段（密碼、通行金鑰、TOTP 或郵箱驗證碼之一）。如果你最近 1 小時內已經在「安全設定」裡驗證過身分，這一步會自動略過。
- **會跳轉到帳號服務**：點擊**修改密碼**後，頁面會跳轉到 Cypacky 帳號服務完成身分驗證和設定新密碼，完成後自動跳回控制台。
- **提前確認在用的裝置**：想清楚哪些裝置正用這個帳號登入，它們都會被要求重新登入。

## 修改密碼

1. 在帳戶頁面，進入『安全設定』的『登入與認證』標籤頁。

   _介面示意圖：『登入與認證』標籤頁裡的密碼區塊：當前狀態文字『你的帳戶已設定登入密碼』和右側的『修改密碼』按鈕_

2. 在『修改密碼』這一行，點擊**修改密碼**。點擊後立即發起流程，沒有確認彈窗，也不會預先提示這會登出其他裝置。
3. 如果系統要求，完成一次身分驗證；最近驗證過的話這一步會自動略過。
4. 在設定新密碼的表單裡，按下方的密碼規則輸入新密碼，再輸入一次進行確認，然後提交。

   _介面示意圖：設定新密碼表單：新密碼與確認密碼兩個輸入框，以及不滿足規則時出現的驗證提示文字_

5. 提交成功後，頁面自動跳回控制台，頂部出現『密碼已更新』提示。此時其他裝置上的登入會話已經被撤銷。

   _介面示意圖：控制台右上角彈出的『密碼已更新』提示條_

## 密碼規則

新密碼需要滿足以下條件：

| 規則     | 要求                                                                         |
| -------- | ---------------------------------------------------------------------------- |
| 長度     | 8 到 72 個字元                                                               |
| 必須包含 | 至少一個大寫字母、一個小寫字母、一個特殊字元                                 |
| 不要求   | 數字不是必需項——只滿足大小寫字母加特殊字元即可通過，介面對這條沒有任何提示   |
| 字元範圍 | 只支援英文字母、數字和常見符號；空格、大多數 Unicode 符號和 emoji 都會被拒絕 |

72 位的上限來自 bcrypt 雜湊演算法的位元組限制。因為密碼只允許 ASCII 字元，字元數就等於位元組數。

## 提交被拒絕時

表單會按輸入內容原樣顯示以下提示：

| 介面提示                                         | 觸發原因                                                                | 處理方法                         |
| ------------------------------------------------ | ----------------------------------------------------------------------- | -------------------------------- |
| 「請輸入新密碼」                                 | 新密碼留空                                                              | 填寫符合規則的新密碼             |
| 「新密碼至少 8 位」                              | 少於 8 個字元                                                           | 加長密碼                         |
| 「新密碼最多 72 位」                             | 超過 72 個字元——後端用 bcrypt 雜湊，超過 72 位元組會拒絕                | 縮短密碼                         |
| 「需包含大寫字母、小寫字母和特殊字元」           | 缺少大寫字母、小寫字母或特殊字元中的至少一種                            | 補上缺的那一類；數字不計入這一條 |
| 「包含不支援的字元，僅允許字母、數字和常見符號」 | 密碼裡出現了不在允許範圍內的字元，比如空格、大多數 Unicode 符號或 emoji | 只使用英文字母、數字和常見符號   |
| 「兩次密碼不一致」                               | 兩次輸入的新密碼不同                                                    | 重新輸入，確認兩次一致           |
| 「啟動失敗，請重試。」                           | 發起修改密碼流程的請求失敗，通常是網路問題                              | 重試；仍然失敗就檢查網路連線     |

## 與「忘記密碼」重設的區別

「修改密碼」和「忘記密碼」重設密碼是兩條不同的路徑，後果也不同，容易被混為一談：

| 對比項                     | 已登入時修改密碼                         | 忘記密碼重設（未登入，郵箱驗證碼）   |
| -------------------------- | ---------------------------------------- | ------------------------------------ |
| 撤銷哪些會話               | 保留發起修改的當前會話，撤銷其餘所有會話 | 撤銷包括當前請求在內的全部會話       |
| 事後郵件是否提到會話被登出 | 不提到                                   | 明確寫出「所有已登入裝置已自動退出」 |

## 相關文件

參考[帳戶與安全](/zh-tw/account/overview/)，瞭解帳戶設定的其他功能。
