Javascript 使用密码()插入MySQL集

Javascript 使用密码()插入MySQL集,javascript,mysql,sql,node.js,mysqljs,Javascript,Mysql,Sql,Node.js,Mysqljs,使用时,我们可以执行上述操作以插入用户 但是,以下内容更简洁(允许通过添加到req.body来设置更多字段,而无需更改代码): 但是我们如何解决需要在req.body.PASSWORD字段上调用PASSWORD()的问题呢?否,您不能在JavaScript代码中使用像这样的MySQl函数 你所遵循的第一种方法是你必须遵循的唯一方法 conn.query('INSERT INTO user SET ?', req.body) conn.query('INSERT INTO user SET?',

使用时,我们可以执行上述操作以插入用户

但是,以下内容更简洁(允许通过添加到
req.body
来设置更多字段,而无需更改代码):


但是我们如何解决需要在
req.body.PASSWORD
字段上调用
PASSWORD()
的问题呢?

,您不能在JavaScript代码中使用像这样的
MySQl
函数

你所遵循的第一种方法是你必须遵循的唯一方法

conn.query('INSERT INTO user SET ?', req.body)

conn.query('INSERT INTO user SET?',req.body.username,PASSWORD(req.body.PASSWORD)),检查这是否适用于you@Deep
PASSWORD()
是MySQL函数,而不是JS函数。您的代码将给出未定义的
密码。您的应用程序不应使用MySQL的密码功能。。MySQL的密码功能是为MySQL服务器read()中的身份验证系统设计的。。。您最好搜索支持bcrypt的JavaScript库。(@RaymondNijland没有注意到这一点,谢谢。似乎我可以切换到
SHA2
,但当生成SSL证书时,会生成一个随机生成的salt。。一些SSL程序(如PuttyGen)也使用随机鼠标位置作为盐的种子。。我已经说过,当你使用salt时,SHA2是安全的。当你散列应用程序的密码或在证书中使用它时,SHA2并不重要。
conn.query('INSERT INTO user SET ?', req.body)
req.body = {
  username: 1,
  password: 1
}

conn.query('INSERT INTO user SET username = ?, password = PASSWORD(?)',
  [req.body.username, req.body.password])