Parse.com的加密库是否支持PBKDF2?

时间:2015-11-02 16:30:27

标签: parse-platform pbkdf2

Parse.com中Cloud Code提供的crypto库缺少文档表明我应该寻找其他地方。但我发现它支持AES加密和一些散列。

我无法看到任何PBKDF2支持。

任何人都可以确认Parse.com加密是否支持PBKDF2?你有一个API示例吗?

2 个答案:

答案 0 :(得分:0)

我个人没有在云代码中使用它,但here's a relevant post from Parse that addresses your question.关于云代码中的加密模块,

  

这是可以在这里找到的通用节点模块:   http://nodejs.org/api/crypto.html

Crypto确实支持PBKDF2,如果您需要更新版本的模块,可以直接加载模块,方法是将副本放在您的云/文件夹中并使用require('cloud / crypto')

答案 1 :(得分: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);
}