RSA 金鑰產生器
在本機產生一組採用 SHA-256 的 2048 或 3072 位元 RSA-OAEP 金鑰對,並匯出標準 PEM 格式的公開金鑰與私密金鑰。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.確認應用程式需要 RSA-OAEP 且使用 SHA-256、指數 65537 與 SPKI/PKCS#8 PEM 格式。
- 2.選擇 2048 或 3072 位元組並產生;較大模數的產生請允許更多時間。
- 3.僅分發公鑰,將私鑰直接匯入受保護的儲存空間,並執行端到端加密測試。
關於RSA 金鑰產生器
RSA 鍵產生器在瀏覽器中建立新的非對稱鍵對,使用 RSA-OAEP 與 SHA-256。選擇 2048 或 3072 位模數,產生後複製公開金鑰為 SubjectPublicKeyInfo PEM,私有金鑰為未加密 PKCS#8 PEM。無任何金鑰位元會傳送至應用伺服器。
RSA 使用公鑰進行加密,並以數學上相關的私鑰進行解密。此頁面要求平臺的 Web Cryptography 實現產生兩個大質數與指數 65537。輸出應為隨機值:即使設定相同,產生兩次也必須產生不同的金鑰。
公鑰的 PEM 以 BEGIN PUBLIC KEY 開頭,包含 ASN.1 SPKI 構造。可分發給需要為持有者加密的系統。私鑰的 PEM 以 BEGIN PRIVATE KEY 開頭,包含 PKCS#8 金鑰內容。任何人取得此私鑰,皆可解密相容的密文,因此複製此檔案即代表承擔完整的保護責任。
私鑰輸出並未加密密碼。僅能儲存在適當的機密管理器或加密金鑰倉中,並有嚴格的存取控制與備份。請勿放入來源控制、工單、對話、分析、瀏覽器同步或一般筆記中。安全匯入後,請關閉此標籤頁並清除剪貼簿歷史紀錄。
RSA-OAEP 的引數雙方必須一致。這些金鑰宣告了 SHA-256,但其他系統可能預設為 SHA-1 或使用不同的標籤與遮罩產生設定。僅能成功匯入的 PEM 檔案並不足以保證正確性;必須在應用協議層進行端到端測試後,才能依賴此金鑰。
RSA 僅能加密有限大小的訊息。應用程式通常會使用 RSA-OAEP 加密一個隨機的對稱金鑰,並以受驗證的對稱加密保護實際資料。請勿將大型檔案分割為原始 RSA 塊。本頁僅產生金鑰,並不會設計任何混合檔案格式。
提供的尺寸在相容性與瀏覽器成本之間取得平衡。2048 位廣泛相容;3072 位提供較大的安全性邊距,但產生與運算較慢。工具不提供 1024 位金鑰、自訂公開指數、原始 RSA、PKCS#1 v1.5 加密或 SHA-1,因為更安全的固定選擇可減少誤用。
正確性無法使用固定的私有金鑰金鑰值,因為安全產生必須隨機。相反,測試會鎖定八個外部引數不變式,匯出雙方信封,將產生的 SPKI 與 PKCS#8 重新匯入 Web Crypto,使用公開金鑰加密已知 UTF-8 訊息,並確認能準確透過私有金鑰還原。匯入的演算法必須報告所選模數長度。
產生過程為非同步,並透過作業識別碼防止舊請求覆蓋新設定。公鑰與私鑰輸出僅儲存在元件記憶體中,直到導覽或替換前,但瀏覽器擴充功能、惡意軟體、剪貼簿管理器與截圖仍會超出此範圍。請使用可信且已打補丁的裝置。
確認收件人預期使用 RSA-OAEP 並搭配 SHA-256 以及這些 PEM 封裝之一後,再使用產生器。產生一次後,將公開金鑰複製給消費者,將私鑰直接轉移至受保護的儲存空間,並執行一回合的協議層次流程。若私鑰遭揭露,應立即旋轉。
此工具並非憑證發行機構,也不會產生 X.509 憑證、CSRs、簽名、SSH 金鑰或 JSON 網頁金鑰。之後轉換格式時,必須保留演算法引數與私鑰的機密性。對於生產環境的身分驗證或 TLS,建議使用擁有平臺或硬體安全模組提供的金鑰產生流程。
方法與來源
WebCrypto generateKey 會產生可提取的 RSA-OAEP 金鑰,指數為 SHA-256,模數為 2048 或 3072,指數為 65537。公鑰輸出為 SPKI DER 格式,私鑰為 PKCS#8 DER 格式,然後分別以 Base64 封裝,每列為 64 位元組。
常見問題
- 這些金鑰會上傳嗎?
- 不會。Web Crypto 在此標籤頁中產生並匯出,但擴充功能、惡意軟體與剪貼簿管理器仍會超出此保證範圍。
- 為何私鑰的 PEM 沒有密碼保護?
- Web Crypto 在此處匯出 PKCS#8 位元組,沒有密碼封裝。請立即將這些資料移至受保護的金鑰倉或機密管理器中。
- 我可以將此用於簽章或 TLS 憑證嗎?
- 不可以。此工具僅產生 RSA-OAEP 加密金鑰,不支援 RSA-PSS 簽章、CSR、憑證或 SSH 金鑰。
相關工具
- AES 線上加密完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。
- HMAC 生成器產生 HMAC-SHA-256、HMAC-SHA-384 或 HMAC-SHA-512,從精確的 UTF-8 或十六進位金鑰以及訊息位元組產生。
- JWT 產生器產生一個緊湊的 HS256 JWT,使用嚴格的 JSON 說明,並以標準化的 base64url 編碼與瀏覽器原生的 HMAC-SHA-256 簽署。
- 密碼產生器在瀏覽器中產生強韌的隨機密碼,所有運算皆在本機進行,不會上傳任何內容。
- A1Z26 字母數字密碼轉換器把英文字母轉為明確的 A=1 至 Z=26 益智格式,並在不混淆單字邊界的情況下解碼經驗證的數字組。
- ASCII 轉換器將標準 7 位 ASCII 文字轉換為十進位碼,或將十進位碼解碼為精確的 ASCII 字元本機執行。
編碼與加密 使用指南
查看全部- Generate an RSA Key Pair in Linux Without OpenSSL (英文原文)
- How to Generate an RSA Key for a Cisco Switch (英文原文)
- Compare Approaches to Use a ROT47 Encoder Decoder (英文原文)
- Rail Fence Cipher Decoder Alternative for Exact Text (英文原文)
- Convert Punycode to Unicode: Read xn-- Labels (英文原文)
- Check Password Strength in Python Without the Regex Trap (英文原文)
- Translate Morse Code to English: A Practical Workflow (英文原文)
- HTML Escape Cheat Sheet: Reserved Characters (英文原文)
- HMAC-SHA256 Tag Generator: Hex and Base64 Guide (英文原文)
- Hill Cipher Decoder Alternative: Skip the Matrix Math (英文原文)
- Convert Hex Format to Text: A Strict UTF-8 Workflow (英文原文)
- Convert File to Base64 for C# Code: Local Browser Steps (英文原文)
- Calculate CRC32 Checksum and Match the 8 Hex Digits (英文原文)
- BCC Checksum API Alternative: Compute Locally (英文原文)
- Caesar Cipher Decoder API Alternative Without Signup (英文原文)
- Binary to Text Encoding: A UTF-8 Guide (英文原文)
- Base64 to Hex Cheat Sheet: RFC 4648 Quick Reference (英文原文)
- Base58 Decode: Command Line vs Browser (英文原文)
- Decode Base32 in C#: Browser Tool or Library (英文原文)
- Base100 Encode Explained: The Byte-to-Emoji Formula (英文原文)