CryptoJS AES + PBKDF2

原由

在 Browser 沒有讓人心安的密碼存放庫。理想上 Browser 不可存放任何金鑰 Key。但又必需加密,加密需要金錀,在此限制條件下,那金錀就用算的吧。

相應的演算法名為 PBKDF2。

參考文章

關於 PBKDF2

PBKDF2(Password-Based Key Derivation Function 2)遵循的是 RFC 8018 標準。這個標準最初是以 RFC 2898 的形式發布,隨後被 RFC 8018 取代並成為目前的正式標準。

RFC 8018 的正式名稱是 "PKCS #5: Password-Based Cryptography Specification Version 2.1"。其中詳細描述了 PBKDF2 的工作原理和應用方式。

CryptoJS 的 PBKDF2 實現主要遵循的是 RFC 2898(即 PBKDF2 的初版標準)。RFC 8018 是 RFC 2898 的更新和取代版本,兩者在 PBKDF2 的使用上基本保持一致。

在使用 CryptoJS 的 PBKDF2 時,你可以指定一些參數,如迭代次數、哈希算法等,但無法直接選擇特定的 RFC 標準。不過,只要按照 RFC 2898 的設計來使用 PBKDF2,它就應該符合 RFC 8018 的要求。

開發平台與相關套件

使用 CryptoJS 套件版本 "crypto-js": "^4.2.0"

平台:Angular 18。在 React 也有效。

原碼紀錄一 - 加解密試作

原碼紀錄二 - 加解密實作

原碼紀錄三 - client 加密, server 解密

Angualr 18 client 加密

NET8 Web API 解密

(EOF)

Last updated