2015-11-02 1 views
0

Un manque de documentation pour une bibliothèque crypto disponible à partir de Cloud Code sur Parse.com suggère que je devrais regarder ailleurs. Mais je l'ai trouvé pour soutenir le cryptage AES et un peu de hachage.La bibliothèque Crypto de Parse.com prend-elle en charge PBKDF2?

Je ne vois aucun support PBKDF2.

Quelqu'un peut-il confirmer si Parse.com Crypto supporte PBKDF2? Et avez-vous un exemple d'API?

Répondre

0

Oui, la bibliothèque cryptographique par défaut proposée par Cloud Code prend en charge PBKDF2, il n'est donc pas nécessaire d'essayer de porter une autre bibliothèque dans le framework.

par exemple

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); 
} 
0

Je ne l'ai pas utilisé dans le code de nuage personnel, mais here's a relevant post from Parse that addresses your question. En ce qui concerne le module Crypto dans le code nuage,

Il est le module de noeud général qui se trouve ici: http://nodejs.org/api/crypto.html

Crypto supporte PBKDF2 et si vous avez besoin d'une version plus récente du module, vous pouvez charger le module directement en plaçant une copie dans votre cloud/dossier et en utilisant require ('cloud/crypto')