Leezy__ 2015-09-13 12:56 采纳率: 0%
浏览 2352

用node使用crypto模块测试时页面显示Not a string or buffer是怎么回事

页面显示的结果
Not a string or buffer

TypeError: Not a string or buffer
at TypeError (native)
at Hash.update (crypto.js:119:16)
at f:\node\box\routes\index.js:36:22
at Layer.handle as handle_request
at next (f:\node\box\node_modules\express\lib\router\route.js:131:13)
at Route.dispatch (f:\node\box\node_modules\express\lib\router\route.js:112:3)
at Layer.handle as handle_request
at f:\node\box\node_modules\express\lib\router\index.js:277:22
at Function.process_params (f:\node\box\node_modules\express\lib\router\index.js:330:12)
at next (f:\node\box\node_modules\express\lib\router\index.js:271:10)

我的代码:
 router.post('/signup',function(req,res){
  var name = req.body.name,
      password = req.body.password,
      password_re = req.body['password-repeat'];
  if(password_re != password){
    req.flash('error','两次输入的密码不一样!');
    return res.redirect('/signup');
  }
  //生成md5
  var md5 = crypto.createHash('md5'),
      password = md5.update(req.body.password).digest('hex');
  var newUser = new User({
    name:req.body.name,
    password:password,
    email:req.body.email
  });
  User.get(newUser.name,function(err,user){
    if(user){
      req.flash('error','用户已经存在');
      return res.redirect('/signup');
    }
    newUser.save(function(err,user){
      if(err){
        req.flash('error',err);
        return res.redirect('/signup');
      }
      req.session.user = user;
      req.flash('success','注册成功!');
      res.redirect('/');
    });
  });
});
  • 写回答

1条回答 默认 最新

  • devmiao 2015-09-13 15:44
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题