首頁 > web前端 > js教程 > 使用 Vanilla JavaScript 進行安全文字加密與解密

使用 Vanilla JavaScript 進行安全文字加密與解密

Linda Hamilton
發布: 2024-12-08 03:37:10
原創
1031 人瀏覽過

Secure Text Encryption and Decryption with Vanilla JavaScript

在當今的數位時代,保護 API 金鑰、密碼和使用者資料等敏感資訊比以往任何時候都更加重要。強大的加密和解密策略可以防止未經授權的存取並確保資料機密性。在這篇部落格文章中,我們將探索如何使用普通 JavaScript 加密和解密文本,利用 Web Crypto API 實現現代、安全的方法。

為什麼要使用加密?

加密將可讀資料(明文)轉換為加擾格式(密文),只有使用正確的金鑰解密才能讀取該格式。這確保了即使有人攔截了加密數據,如果沒有密鑰,它仍然毫無意義。可靠的加密機制可保護:

  • API 金鑰儲存在您的前端程式碼中。
  • 敏感使用者資訊。
  • 透過不安全通道傳輸的任何資料。

讓我們深入了解如何在 JavaScript 中安全地實現這一點。


使用 AES-GCM 加密和解密

我們將使用 AES-GCM(高級加密標準 - Galois/Counter 模式),這是一種提供加密和完整性驗證的現代標準。步驟包括:

  1. 密碼派生:使用PBKDF2(基於密碼的金鑰派生函數2)從密碼派生安全金鑰。
  2. 鹽和 IV:為每次加密產生隨機鹽(以使密碼派生唯一)和 iv(初始化向量)。
  3. 加密:使用 AES-GCM 加密明文。
  4. 解密:使用相同的密碼和salt/iv解密密文。

程式碼實現

這是完整的 JavaScript 實作。

轉換實用程式

我們將在 ArrayBuffer 和十六進位之間進行轉換,以便於資料儲存和擷取:

從密碼匯出金鑰

使用PBKDF2匯出強加密金鑰:

加密功能

使用密碼加密文字:

解密功能

使用相同的密碼解密文字:

用法範例

讓我們來看看如何使用這些功能:


安全最佳實踐

  1. 使用強密碼:加密的安全程度取決於您使用的密碼。
  2. 安全儲存鹽和 IV:始終將鹽和 IV 與加密資料一起保存。
  3. 避免對秘密進行硬編碼:切勿在程式碼庫中對敏感資料或密碼進行硬編碼。
  4. 使用 HTTPS:確保您的應用程式使用 HTTPS 來保護傳輸中的資料。

加密 API 金鑰等敏感資訊是保護應用程式安全的基本步驟。 我主要用它作為 API 金鑰。

以上是使用 Vanilla JavaScript 進行安全文字加密與解密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板