回饋

RSA加密解密

📖 工具說明

1. 什麼是 RSA 加密?

RSA(由 Rivest, Shamir, Adleman 三人姓氏命名)是目前全球應用最廣泛的非對稱加密算法。與 AES 等對稱加密不同,RSA 擁有一對密鑰:公鑰(Public Key)**和**私鑰(Private Key)


2. RSA 核心操作場景

本工具支持 RSA 的兩種核心使用模式:

A. 數據加解密(確保私密性)
B. 數字簽名與驗籤(確保真實性)

3. 密鑰格式與長度說明

在使用 RSA 工具時,請務必關注您的密鑰格式,這通常是導致報錯的主要原因:

參數項 說明 常見標準
密鑰格式 PKCS#1 vs PKCS#8 PKCS#1 僅支持 RSA;PKCS#8 是通用格式。Java 通常使用 PKCS#8。
密鑰長度 1024 / 2048 / 4096 bit 1024 位已不推薦;2048 位爲當前主流;4096 位安全性最高但性能消耗大。
填充模式 PKCS1Padding / OAEP 必須確保加解密雙方使用的填充模式完全一致。

4. 常見問題解答 (FAQ)

Q:爲什麼 RSA 不能加密很長的文本?

A: RSA 的加密長度受密鑰位數限制。2048 位密鑰配合 PKCS#1 填充,一次最多隻能加密 245 字節的數據。如果需要處理長文本,通常的做法是:用 [AES 工具] 加密內容,再用 RSA 加密 AES 的密鑰(這種方式稱爲“混合加密”)。

Q:PKCS#1 和 PKCS#8 格式如何區分?

A: 查看密鑰的開頭文字:

Q:RSA 公鑰加密後的結果是唯一的嗎?

A: 不是。由於 Padding(填充)機制的存在,每次點擊加密生成的密文都會變化,但它們都能通過對應的私鑰解密出相同的明文。這是一種安全保護機制。


5. 爲什麼選擇本站的 RSA 工具?

更多RSA基礎知識: RSA 深度解析:原理、數學基礎、編碼與安全性

📖 相關推薦