Pbkdf-2

Google的 Crypto.JS AES 加密是否預設使用 PBKDF2?

  • October 22, 2016

Google的 Crypto.JS AES 加密是否預設使用 PBKDF2?

一些參考資料,但我自己無法弄清楚答案:

https://code.google.com/p/crypto-js/#The_Cipher_Algorithms

https://code.google.com/p/crypto-js/source/browse/tags/3.1.2/src/aes.js

文件說它是,而OpenSSL不是 PBKDF2:

當您在字元串上下文中使用 CipherParams 對象時,它會根據格式策略自動轉換為字元串。預設是與 OpenSSL 兼容的格式

這可以在原始碼中驗證。OpenSSL KDF 的實現在evpkdf.js中。

密鑰派生函式通常被稱為EVP_BytesToKeyAPI 中實現 KDF 的更高級別函式。

我假設你是這樣呼叫它的:

CryptoJS.AES.encrypt("Message", "Secret Passphrase");

從 3.1.2 開始,預設的密鑰派生函式是OpenSSLKdf,如此處配置並此處此處實現。

引用自:https://crypto.stackexchange.com/questions/19739