2015-11-02 79 views
0

缺少來自Parse.com中的Cloud Code的crypto庫的文檔,這表明我應該在別處尋找。但我發現它支持AES加密和一些散列。Parse.com的Crypto庫是否支持PBKDF2?

我看不到任何PBKDF2支持。

任何人都可以確認Parse.com Crypto是否支持PBKDF2?你有一個API的例子嗎?

回答

0

是的,Cloud Code提供的默認加密庫確實支持PBKDF2,因此不需要嘗試將另一個庫移植到框架中。

例如,

var crypto = require('crypto'); 
var SALT_LEN = 32; 

function randomSafeBytes(len) { 
    return crypto.randomBytes(len) 
    .toString('base64') 
    .slice(0,len) 
    .replace(/\+/g, '0') // replace '+' with '0' 
    .replace(/\//g, '0'); // replace '/' with '0' 
} 

function generate_key(password) { 
// get a brand new key 
    var salt = randomSafeBytes(SALT_LEN); 
    return { 
     salt:salt, 
     key:generate_key_from_salt(password, salt) 
    } 
} 

function generate_key_from_salt(password, salt) { 
    // regenerate a key from a given salt 
    var ITERATIONS = 100000; // tune this figure to balance platform/needs 
    var KEY_LEN = 32; 
    return crypto.pbkdf2Sync(password, salt.slice(0,SALT_LEN), ITERATIONS, KEY_LEN); 
}