首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

在 ASP.NET 中實作 RSA 加密

     編輯:關於ASP.NET

背景

MD5、SHA1 為單向雜湊,無法解密。RSA 非對稱加密可加密/解密,適合需機密性的資料傳輸。.NET 提供 RSA (基類) 與 RSACryptoServiceProvider (CSP 實作) 兩個核心類別,以及 RSAParameters 結構保存參數。

金鑰產生

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
RSAParameters publicKey = rsa.ExportParameters(false);  // 僅含 Exponent、Modulus
RSAParameters privateKey = rsa.ExportParameters(true);  // 含 8 個欄位

加密與解密

// 加密 (使用公鑰)
public byte[] RSAEncrypt(byte[] data, RSAParameters publicKey) {
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
    rsa.ImportParameters(publicKey);
    return rsa.Encrypt(data, false);
}

// 解密 (使用私鑰)
public byte[] RSADecrypt(byte[] data, RSAParameters privateKey) {
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
    rsa.ImportParameters(privateKey);
    return rsa.Decrypt(data, false);
}

注意事項

  • RSA 適用於少量資料 (如對稱金鑰加密),大量資料建議混合加密 (AES + RSA)。
  • 私鑰需妥善保管,建議存於金鑰容器或受保護設定區段。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved