从 node.js 移植 MD5

我在node.js 中有一个身份验证逻辑


var crypto = require('crypto');


var SaltLength = 9;


function createHash(password) {

  var salt = generateSalt(SaltLength);

  var hash = md5(password + salt);

  return salt + hash;

}


function validateHash(hash, password) {

  var salt = hash.substr(0, SaltLength);

  var validHash = salt + md5(password + salt);

  return hash === validHash;

}


function generateSalt(len) {

  var set = '0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ',

      setLen = set.length,

      salt = '';

  for (var i = 0; i < len; i++) {

    var p = Math.floor(Math.random() * setLen);

    salt += set[p];

  }

  return salt;

}


function md5(string) {

  return crypto.createHash('md5').update(string).digest('hex');

}

如何将其移植到Go?


墨色风雨
浏览 232回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go