Advertisement
Guest User

Untitled

a guest
Jun 30th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. var crypto = require('crypto');
  2.  
  3. var SaltLength = 9;
  4.  
  5. function createHash(password) {
  6. var salt = generateSalt(SaltLength);
  7. var hash = md5(password + salt);
  8. return salt + hash;
  9. }
  10.  
  11. function validateHash(hash, password) {
  12. var salt = hash.substr(0, SaltLength);
  13. var validHash = salt + md5(password + salt);
  14. return hash === validHash;
  15. }
  16.  
  17. function generateSalt(len) {
  18. var set = '0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ',
  19. setLen = set.length,
  20. salt = '';
  21. for (var i = 0; i < len; i++) {
  22. var p = Math.floor(Math.random() * setLen);
  23. salt += set[p];
  24. }
  25. return salt;
  26. }
  27.  
  28. function md5(string) {
  29. return crypto.createHash('md5').update(string).digest('hex');
  30. }
  31.  
  32. module.exports = {
  33. 'hash': createHash,
  34. 'validate': validateHash
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement