如何使用 AES_ENCRYPT 在 MySQL 中编写更新查询? [英] How to write an update query in MySQL with AES_ENCRYPT?

查看:69
本文介绍了如何使用 AES_ENCRYPT 在 MySQL 中编写更新查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我在用户想要更改密码时编写的代码.

This is my code that I wrote when user wants to change his password.

s2.executeUpdate("UPDATE user SET AES_ENCRYPT(password='"+newpw1+"','key') WHERE uid='"+pubvar.uid+"')");

但它不起作用,有人可以帮我纠正并发布吗?谢谢.

But it doesn't work, can someone correct it for me and post it? Thanks.

推荐答案

你的意思是,

UPDATE user 
SET password = AES_ENCRYPT('" + newpw1 + "','key') 
WHERE uid = '" + pubvar.uid + "')

最好使用PreparedStatement来防止SQL注入.

String _upd = "UPDATE user SET password = AES_ENCRYPT(?,'key') WHERE uid = ?)";
PreparedStatement pstmt = con.prepareStatement(_upd);
pstmt.setString(1, newpw1);
pstmt.setString(2, pubvar.uid);
pstmt.executeUpdate();

  • PreparedStatement
  • 这篇关于如何使用 AES_ENCRYPT 在 MySQL 中编写更新查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆